istediğim satırı gizle/göster Sorunu

Katılım
13 Ocak 2008
Mesajlar
142
Excel Vers. ve Dili
2003 office
satır gizleyle ilgili yazıları okudum dosyaları indirdim fakat bir türlü istediğimi yapamadım elimde maaş bordrosu programı var istediğim şu eğer K15 hücresindeki değer (bu değer başka bir sayfadan formül aracılığıyla geliyor) 0 veya #değer! hatasını veriyorsa satırları 6. satırdan başlayarak 17. satıra kadar gizlesin eğer rakam 0 dan büyük bir rakam ise bu aralığı göstersin

sevgili arkadaşlar bunu yapabilirmiyiz???
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Bu şekilde deneyiniz.
Kod:
Private Sub Worksheet_Calculate()
If [K15] = 0 Then
[a6:a17].EntireRow.Hidden = True
End If
If [K15] > 0 Then
[a6:a17].EntireRow.Hidden = 0
End If
End Sub
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu bir normal modüle kopyalayın ve Bordro sayfasında oluşturacağınız bir butona bağlayın.

Kod:
Sub gizle()
For a = 15 To [k65536].End(3).Row Step 12
If IsError(Cells(a, "k")) = True Then Rows(a - 9 & ":" & a + 2).EntireRow.Hidden = True
Next
End Sub
 
Katılım
13 Ocak 2008
Mesajlar
142
Excel Vers. ve Dili
2003 office
ama ben o dosyayı kapatıp sadece formlarla çalışacağım o zaman butona ulaşamam Ki
 
Katılım
13 Ocak 2008
Mesajlar
142
Excel Vers. ve Dili
2003 office
ayrıca kodları her kısım için ayrı ayrı yapsak daha güzel olmaz mı? böylelikle sayfa aralarını daha rahat ayarlayabilirz.
 
Katılım
13 Ocak 2008
Mesajlar
142
Excel Vers. ve Dili
2003 office
Diyelimki her gizle göster için 2 buton koydum örneğin bu kodda sayfayı belirtmemiş userformdaki butona "bordro" sayfasındaki satırları silmesini nasıl sağlayabilirim.

Private Sub Worksheet_Calculate()
If [K15] = 0 Then
[a6:a17].EntireRow.Hidden = True
End If
If [K15] > 0 Then
[a6:a17].EntireRow.Hidden = 0
End If
End Sub
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Bu kodlar hangi sayfa içinde yazıldıysa o sayfaya aittir.
Yani kodlar o sayfada çalışacaktır.
Başka bir sayfadada kullanmak istiyorsanız.Sayfa sekmesine sağ klik yapın Kod görüntüleyi seçin kodları yapıştırın.:cool:
 
Katılım
13 Ocak 2008
Mesajlar
142
Excel Vers. ve Dili
2003 office
yok ben anlatamadım şimdi şöyle ben sadece formlarla çalışıyorum ya düğmeyi userforma ekliycem kodu da düğmeye eklediğim zaman kod o sayfada satırı gizlemez. eklediğim düğmeyle "bordro" sayfasındaki verileri gizletmek istiyorum
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Örnek kodu kendinize uygulayın.
Silmek İçin:
Kod:
Private Sub CommandButton1_Click()
[bordro!a1:a20] = vbNullString
End Sub
Gizlemek İçin:
Kod:
Private Sub CommandButton1_Click()
[bordro!a2:a20].EntireRow.Hidden = 1
End Sub
 
Katılım
13 Ocak 2008
Mesajlar
142
Excel Vers. ve Dili
2003 office
Bu şekilde deneyin.
Kod:
Private Sub CommandButton1_Click()
[bordro!a1:a20] = vbNullString
End Sub
peki bu kodu bu kodu nereye yazmalıyım
Private Sub Worksheet_Calculate()
If [K15] = 0 Then
[a6:a17].EntireRow.Hidden = True
End If
If [K15] > 0 Then
[a6:a17].EntireRow.Hidden = 0
End If
End Sub

peki bu kodu bu kodu nereye yazmalıyım?
 
Katılım
13 Ocak 2008
Mesajlar
142
Excel Vers. ve Dili
2003 office
Otomatik olarak açılan bir userfordaki onay kutusu işaretliyse "bordro" sayfasındaki A6 ile A17 satırları (A6 ve A17 dahil) arasındaki satırlar gizlensin. bunu nasıl yapabilirm
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Kod:
Private Sub CheckBox1_Click()
If Me.CheckBox1 Then
[bordro!a6:a17].EntireRow.Hidden = 1
Else
[bordro!a6:a17].EntireRow.Hidden = 0
End If
End Sub
 
Katılım
13 Ocak 2008
Mesajlar
142
Excel Vers. ve Dili
2003 office
Arkadaşlar oluyor ama istesğim olmuyor dosyayı ekliyorum şifre serdar kullanıcı serdar
 
Katılım
13 Ocak 2008
Mesajlar
142
Excel Vers. ve Dili
2003 office
istediğim :"personel kayıt formunu açıp herhangi personeli işaretlemediğimde sadece o personelin bordrosu gizlensin" daha sonra o personeli tekrar aradığımda checkbox u işaretlediğimde o kısım gözüksün. bu işlem her personel için olacak ve her personelin verisi kendi bordro satırlarını gizleyip göstersin
 
Üst