• DİKKAT

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

Bir Düğme ile Birden Fazla Sayfa Açmak

Katılım
5 Kasım 2007
Mesajlar
4,727
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Merhaba,

Aşağıdaki koda ilave yaparak 1'den fazla sayfayı, aynı düğme (düğme adı, örneğin ; ODALARI_AÇ) ile açmak istiyorum, Userform'da şu andaki düğme adı "KAT-1_ODALAR" dır.

Sayfaların isimleri ;

KAT-1_ODALAR
KAT-2_ODALAR
KAT-3_ODALAR
KAT-4_ODALAR
KAT-5_ODALAR, gibi

Kod:
Private Sub CommandButton7_Click()

For Each sayfa In Worksheets
        If sayfa.Name <> "ANASAYFA" Then
            sayfa.Visible = xlVeryHidden
        End If
Next
For Each sayfa In Worksheets
        If sayfa.Name = "[COLOR="Red"]KAT-1_ODALAR[/COLOR]" Then
           sayfa.Visible = True
        End If
Next
 Sheets("[COLOR="Red"]KAT-1_ODALAR[/COLOR]").Select
 End Sub

Teşekkür ederim.
 
Aşağıdaki şekilde tüm sayfaların görünürlüğünü true yapmış olursunuz.
Private Sub CommandButton7_Click()
For Each sayfa In Worksheets
sayfa.Visible = True
Next
Sheets("KAT-1_ODALAR").Select
End Sub
 
Sayın askm merhaba,

Kodunuzu denemedim, (ben tam ifade edemediğimi düşündüm)

Ben aşağıdaki kodda, kırmızı olan bölümde değişiklik yaparak, 1 düğme ile 4 yada 5 sayfayı aynı anda görünür (açılmış) yapmak istemiştim,

Şu haliyle tek tek düğmeler ile odaları açıyorum,istedim ki bir düğme ile görünmez olan 4 (yada 5) odayı aynı anda açayım,

Amacım, kullanıcı 4 (yada 5) odayı aynı anda sayfa olarak görsün ve aralarında hızlı geçiş yapabilsin,

Umarım çözümü vardır.Teşekkür ederim.

Kod:
Private Sub CommandButton7_Click()

For Each sayfa In Worksheets
        If sayfa.Name <> "ANASAYFA" Then
            sayfa.Visible = xlVeryHidden
        End If
Next
[COLOR="Red"]For Each sayfa In Worksheets
        If sayfa.Name = "KAT-1_ODALAR" Then
           sayfa.Visible = True
        End If
Next
 Sheets("KAT-1_ODALAR").Select
 End Sub[/COLOR]
 
Aşağıdaki örnek kodu kendinize uyarlayınız. Tek Düğmeyle sayfaları Gizler/Gösterir.
Kod:
For s = 2 To Sheets.Count
Sheets(s).Visible = Sheets(s).Visible = 0
Next
 
Açıkcası dediğinizi tam olarak anlamadım. Eğer amacınız tüm katlardaki ODALAR sayfalarını açmak ise aşağıdaki şekilde açabilirsiniz.
Kod:
rivate Sub CommandButton7_Click()

For Each sayfa In Worksheets
        If sayfa.Name <> "ANASAYFA" Then
            sayfa.Visible = xlVeryHidden
        End If
Next
For Each sayfa In Worksheets
        If Right(sayfa.Name,6) = "ODALAR" Then
           sayfa.Visible = True
        End If
Next
 Sheets("KAT-1_ODALAR").Select
 End Sub
 
Kod:
Private Sub CommandButton7_Click()

For Each sayfa In Worksheets
        If sayfa.Name <> "ANASAYFA" Then
            sayfa.Visible = xlVeryHidden
        End If
Next
For Each sayfa In Worksheets
        If sayfa.Name = "KAT-1_ODALAR" Then
           sayfa.Visible = True
        End If
Next
 Sheets("KAT-1_ODALAR").Select
 End Sub

Private Sub CommandButton8_Click() ' tuş numarasını siz düzeltin
If sayfa.Name = "KAT-1_ODALAR" Then
           sayfa.Visible = True
end if
If sayfa.Name = "KAT-2_ODALAR" Then
           sayfa.Visible = True
end if 
If sayfa.Name = "KAT-3_ODALAR" Then
           sayfa.Visible = True
end if
If sayfa.Name = "KAT-4_ODALAR" Then
           sayfa.Visible = True
end if
If sayfa.Name = "KAT-5_ODALAR" Then
           sayfa.Visible = True
end if 
Msgbox " Kat oda sayfaları açıldı" 
Sheets("KAT-1_ODALAR").Select
end sub
 
Sayın Seyit Tiken, sayın askm, merhaba,

İlginiz ve önerileriniz için teşekkür ederim.

Sayın cems'in 6 nolu mesajındaki kodlar ile sorunumu çözüyorum.

Saygılarımla.
 
Sayın cems merhaba,

Çözüm için teşekkür ederim.

Saygılarımla.
 
Sayın 1AL2Ver. Cems üstadın yazdığı 8.buton kodları direkt kopyalayıp çalıştırdığınızda çalıştı mı? Döngü olmadan sayfa.name kısmı hata verir diye biliyorum. Yani öncesinde "For Each sayfa In Worksheets" olması gerekir sanırım.
Döngü içerisine aldığınızda da 1-2-3-4-5. sayfalar ve gösteriliyor. Bu işlemi tek if ile de yapmak mümkün.
If sayfa.Name = "KAT-1_ODALAR" or sayfa.Name = "KAT-2_ODALAR" or sayfa.Name = "KAT-3_ODALAR" or sayfa.Name = "KAT-4_ODALAR" or sayfa.Name = "KAT-5_ODALAR" Then

şeklinde
Benim yazmış olduğum 5.Mesajda ki kodlar ANASAYFA ve tüm odaları göstermekte.
 
Sayın askm merhaba,

Dikkat ederseniz ; "Sayın cems'in 6 nolu mesajındaki kodlar ile sorunumu çözüyorum." dedim, çözdüm demedim,

Kod bana bir yol gösterdi, ben de biraz gayret ve araştırma ile hallettim.

Sizin 5 nolu mesaj ekindeki kod, şimdi denedim ve istediğim işlemi yapıyor ,

İstemeden de olsa size biraz haksızlık etmişim, özür dilerim.

Saygılarımla.
 
Estağfurullah ben sadece sonradan kodlara ulaşan arkadaşlar için çözüm olsun diye yazdım. Saygılar selamlar.
 
Geri
Üst