Makro ile Veri Doğrulama

Katılım
11 Şubat 2016
Mesajlar
199
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
15-02-2021
tüm sayfaların adlarını tek hücreye açılır pencere gibi yapabilirmiyim.

sayfa1
sayfa2
sayfa3
ekledikçe artacak
sildikçe azalacak

tek hücrede gösterim metodu varmı acaba
 
Son düzenleme:

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağıdaki kodlar Sayfa1'in A1 hücresi için geçerlidir. Siz kendinize göre uyarlayınız.

Aşağıdaki kodlar BuÇalışmaKitabı'nın kod bölümünde olmalı

Kod:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
    VeriDogrulama
End Sub
Kod:
Private Sub Workbook_SheetBeforeDelete(ByVal Sh As Object)
    VeriDogrulama
End Sub
Aşağıdaki kodlar ise bir module'ün içinde olmalı.

Kod:
Sub VeriDogrulama()

    Dim Sh  As Worksheet, _
        Syf As String
    
    For Each Sh In Worksheets
        If Syf = "" Then
            Syf = Sh.Name
        Else
            Syf = Syf & "," & Sh.Name
        End If
    Next Sh
    
    With Sheets("Sayfa1").Range("A1").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=Syf
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
    
End Sub
Kodları deneyiniz, sonucu bildiriniz.
 
Katılım
11 Şubat 2016
Mesajlar
199
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
15-02-2021
teüekkürler

teşekkür ederim hocam süper oldu
 
Katılım
11 Şubat 2016
Mesajlar
199
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
15-02-2021
ilave yapabilirmiyim

hocam çok güzel çalıştı fakat istemediğim bir durum oluştu. listeden muaf tutmak istediğim sayfalar var çok değil. bunları bu listeden düşürebilirmiyim

örnek sayfa ad "katsayı" "personel" gibi 5-6 sayfa var bunları çıkartmam lazım
olmazsa bu şekilde kullanacağım
teşekkür ederim.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Kod:
Merhaba,
Kırmızı renkli yerleri kendinize uyarlayınız.

Kod:
Sub VeriDogrulama()

    Dim Sh  As Worksheet, _
        Syf As String
    
    For Each Sh In Worksheets
    
        If Not Sh.Name = "[COLOR="Red"]xxxx[/COLOR]" And Not Sh.Name = "[COLOR="red"]yyyy[/COLOR]" And Not Sh.Name = "[COLOR="red"]zzzz[/COLOR]" Then
            If Syf = "" Then
                Syf = Sh.Name
            Else
                Syf = Syf & "," & Sh.Name
            End If
        End If
        
    Next Sh
    
    With Sheets("Sayfa1").Range("A1").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=Syf
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
    
End Sub
 
Katılım
11 Şubat 2016
Mesajlar
199
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
15-02-2021
Merhaba

Necdet hocam çok teşekkür ederim çok güzel oldu emeğinize sağlık.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Güle güle kullanınız ama konu başlığını Makro ile Veri Doğrulama olarak değiştirirseniz daha mantıklı olur.
 
Üst