• DİKKAT

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

Makro ile Veri Doğrulama

Katılım
11 Şubat 2016
Mesajlar
199
Excel Vers. ve Dili
2013
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:
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.
 
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.
 
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
 
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.
 
Geri
Üst