• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Gizle göster butonu

Katılım
25 Şubat 2014
Mesajlar
48
Excel Vers. ve Dili
Excel Vers. ve Dili:
OFFICE 2013
Elimdeki bu kodu tek tek sayfalara kopyalamak yerine sayfa isimleri 1-s,2-s,3-s,4-s,5-s,6-s,7-s,8-s,9-s,10-s,11-s,12-s,13-s,14-s,15-s,16-s,17-s,18-s,19-s,20-s kadar sayfam var bunları tek bir gizle göster kodu oluştura bilirmiyiz

Kod:
Sub Gizle_Tıklat()
For i = 54 To 55
If Range("d" & i) = "" Or Range("d" & i) = 0 Then

Range("a" & i).Select

Selection.EntireRow.Hidden = True
End If
Next i

End Sub


Sub Göster_Tıklat()
For i = 54 To 55
Range("a" & i).Select
Selection.EntireRow.Hidden = False
Next i
End Sub
 
Merhaba,

Module kopyalayın.

Kod:
Sub Gizle_Tiklat()

    Dim syf As Worksheet, j As Byte, i As Byte
    
    For j = 1 To 20
        Set syf = Sheets(j & "-s")
        For i = 54 To 55
            If syf.Range("d" & i) = "" Or syf.Range("d" & i) = 0 Then
                syf.Range("a" & i).EntireRow.Hidden = True
            End If
        Next i
    Next j

End Sub

Sub Goster_Tiklat()
    
    Dim syf As Worksheet, j As Byte
    
    For j = 1 To 20
        Set syf = Sheets(j & "-s")
        syf.Range("A54:A55").EntireRow.Hidden = False
    Next j
    
End Sub

.
 
Alternatik.
Tek bir ToggleButton ekleyin aşağıdaki kodları butonu eklediğiniz sayfa kısmına yazın.
Kod:
Private Sub ToggleButton1_Click()
On Error Resume Next
 If ToggleButton1 Then
        ToggleButton1.Caption = "Gizle"
        Gizle_Tiklat
    Else
        ToggleButton1.Caption = "Göster"
        Goster_Tiklat
    End If
End Sub

Sub Gizle_Tiklat()

    Dim syf As Worksheet, j As Byte, i As Byte
    
    For j = 1 To 20
        Set syf = Sheets(j & "-s")
        For i = 54 To 55
            If syf.Range("d" & i) = "" Or syf.Range("d" & i) = 0 Then
                syf.Range("a" & i).EntireRow.Hidden = True
            End If
        Next i
    Next j

End Sub

Sub Goster_Tiklat()
    
    Dim syf As Worksheet, j As Byte
    
    For j = 1 To 20
        Set syf = Sheets(j & "-s")
        syf.Range("A54:A55").EntireRow.Hidden = False
    Next j
    
End Sub
 
Ben kodları yazarken Ömer Beyin kodlarını gördüm. Onların kodlarına ilave yaptım.
Asıl sayfalarda farklı sayfa ismi olur düşüncesi ile for i=1 to Shett.count şeklinde tüm sayfalarda baktırıp isimleri kıyaslatmaktı amacım. Ama Ömer hocam yazınca onun üzerine takviye yapmış oldum.
 
Geri
Üst