Makro ile, yandaki "Sekme İsmi" her ne olursa olsun, yan sekmeyi "Gizle"tmeyi nasıl sağlayabilirim ?

Katılım
21 Ocak 2008
Mesajlar
309
Excel Vers. ve Dili
Excel 2013 / Türkçe
Yapmaya çalıştığım işi basitçe anlatayım;

10 sekmeden oluşan bir tablonun sekmelerine bir "Ana Sayfa"dan makrolarla ulaşıp, o sekmede işim bitince yine bir makro butonuyla "Ana Sayfa"ya geri dönüş yapıyorum.

"Ana Sayfa"da iken diğer sekmelerin tamamı "Gizli" modda.

Makro Butonuyla ulaştığım sekmeye geçtiğimde de aynı şekilde "Ana Sayfa"yı "gizli"yorum.

Sıkıntı şurada;

Tüm sekmelerden "Ana Sayfa"ya dönüş butonuna "Aynı" makroyu kullanmak istiyorum. Her bir sekmeden "Ana Sayfa"ya dönüş için ayrı bir mokro yazmak istemiyorum.

Böyle olunca da şunu yaptırabilmem lazım : x sekmesinde iken, "Ana Sayfaya Don" butonuna tıkladığımda "Ana Sayfa"yı "Görünür" yapıp,
"Ana Sayfa"nın hemen yanında bulunan sekmeyi (sekme ismi her ne olursa olsun) "Gizle"meli...

Kullandığım kod aşağıda. Kırmızı ile göstermiş olduğum satırlara nasıl bir müdahalede bulunmalıyım ki; isimden bağımsız bir şekilde, "Ana Sayfa"ya geçtikten sonra yanda duran diğer sekmeyi "Gizle"sin ?


Sub Ana_Sayfaya_Don()
Sheets("Musteri Kayit").Select
Sheets("Ana Sayfa").Visible = True
Sheets("Musteri Kayit").Select
ActiveWindow.SelectedSheets.Visible = False

Range("A1").Select
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,179
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Sayfa adı kullanmak yerine döngü ile sayfaları gizlemeyi deneyiniz.
 
Katılım
21 Ocak 2008
Mesajlar
309
Excel Vers. ve Dili
Excel 2013 / Türkçe
Korhan bey, bu konuda çok tecrübeli değilim. Makro kodlarını da kendim yazmadım zaten, "makro kayıt" yöntemiyle oluşmuş kodlar bunlar.

Tavsiye ettiğiniz yöntemi nasıl uygulayacağımı bilmiyorum. Yardımcı olursanız sevinirim...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,179
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Option Explicit

Sub Ana_Sayfaya_Don()
    Dim Sayfa As Worksheet
   
    With Sheets("Ana Sayfa")
        .Visible = True
        .Select
        .Range("A1").Select
    End With
   
    For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name <> "Ana Sayfa" Then Sayfa.Visible = False
    Next
End Sub
 
Katılım
21 Ocak 2008
Mesajlar
309
Excel Vers. ve Dili
Excel 2013 / Türkçe
Korhan bey, çalıştı, ellerinize sağlık. Gönül dolusu teşekkürler ediyorum.

Hayırlı cumalar....
 
Üst