Veri doğrulama

Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
07-01-2024
Arkadaşlar veri doğrulamadan bir liste oluşturuyorum bu listede arada boş hücreler var. Bu boş hücrelerin listede görünmemesini sağlayabilir miyim ?
 

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 kodlarda boş hücre olsa bile veri doğrulamada göstermiyor. Kendinize uyarlamaya çalışın.

Veriler A sütunundan okunup B1:B10 arasında veri doğluma yapar.

Kod:
Sub Makro1()
    
    Dim i As Integer, _
        x As String
    
    For i = 1 To Cells(Rows.Count, "A").End(3).Row
        If Len(x) = 0 Then
            x = Cells(i, "A")
        Else
            x = x & "," & Cells(i, "A")
        End If
    Next i
    
    With Range("B1:B10").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=x
    End With
    
End Sub
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Sayın @Necdet Bey'den ilhamla (ve de kendisinin iznine sığınarak)
"Benzersiz Liste" ile "Veri Doğrulama" için modifiye edilen aşağıdaki kodu da deneyebilirsiniz.
A sütununda tekrar eden verileri teke düşürerek (ve boşlukları da almadan) işlem yapar.

Kod:
Sub BenzersizVeriDogrulama()
Dim i, n As Integer, x As String
For i = 1 To Cells(Rows.Count, 1).End(3).Row
    n = Application.WorksheetFunction.CountIf(Range("A$1:A" & i), Cells(i, 1))
    If Cells(i, 1) <> "" And n = 1 Then
    x = x & "," & Cells(i, 1)
    End If
Next i
With Range("B1:B10").Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:=x
End With
End Sub
 
Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
07-01-2024
Verilen cevapların hepsi işimi gördü çok teşekkür ederim
 
Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
07-01-2024
Verilen formüllerde
Kod:
With Range("B1:B10").Validation
kısmını kendime göre uyarlayamadım. B1:B10 arasında değilde farklı hücrelerde veri doğrulama yaptırmak istedim. Örneğin biri B1 diğeri D10. B1;D10 yaparak denedim olmadı. Bunu nasıl yapabilirim.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

İlgili satırı aşağıda verdiğim örnekteki gibi değiştirerek istediğiniz elde edilebilir.
With Range("B1, D10, M20, K3:K12").Validation
 
Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
07-01-2024
Teşekkür ederim Ömer hocam.
 
Üst