• DİKKAT

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

Aralıklı Liste Oluşturmak

Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Merhaba Arkadaşlar,
Veri Doğrulamada A1:A5 aralığı ile A21:A29 aralığını tek liste yapmanın bir yolu var mıdır !
 
Merhaba,

Tek liste yapmaktan amacınız nedir bilemiyorum ama, Eğer bu iki aralığa Veri doğrulama eklemek istiyorsanız, Önce A1:A5 i seçin Sonra Ctrl tuşana basarak diğer aralığı seçip istediğiniz şartı ekleyebilirsiniz.
 
Merhaba,

Tek liste yapmaktan amacınız nedir bilemiyorum ama, Eğer bu iki aralığa Veri doğrulama eklemek istiyorsanız, Önce A1:A5 i seçin Sonra Ctrl tuşana basarak diğer aralığı seçip istediğiniz şartı ekleyebilirsiniz.
Üstad ilgine teşekkürler. O şekilde denedim ama hata veriyor
 
şunu yapmaya çalışıyorum; Veri doğrulamada A1:A5 hücrelerindeki verilerden sonra aynı listenin devamında A21:A29 hücrelerindeki verilerle devam etmesine ihtiyacım var.
 
Neden örnek dosya ile açıklamıyorsunuz? madem altın üyesiniz. Ne demek istediğinizi en azından ben anlamıyorum, belki bir anlayan arkadaş çıkar.
 
Merhaba,

Yine eksik bilgi sanırım.

A6:A10 aralığın sabit olacağını sanmıyorum, bu aralığın listeye girmemesini belirleyen bir kıstas var mı? bilinmiyor.

Verdiğiniz sınırları sabit kabul ederek bir örnek hazırladım. Belki bir fikir verir.

Kod:
Sub VeriDogrulama()

    Dim Rng As Range, _
        Txt As String, _
        Hcr As Range
    
    Set Rng = Range("A2:A5,A11:A14")
    
    For Each Hcr In Rng
    
        If Len(Txt) = 0 Then
            Txt = Hcr
        Else
            Txt = Txt & "," & Hcr
        End If
        
    Next Hcr
    
    With Range("C2:C6").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="" & Txt & ""
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
    
End Sub
 
Veri Doğrulamada bahsettiğiniz özellik yoktur.

Makro yardımıyla bahsettiğiniz liste oluşturulup veri doğrulamaya tanımlanabilir.
 
Merhaba,

Yine eksik bilgi sanırım.

A6:A10 aralığın sabit olacağını sanmıyorum, bu aralığın listeye girmemesini belirleyen bir kıstas var mı? bilinmiyor.

Verdiğiniz sınırları sabit kabul ederek bir örnek hazırladım. Belki bir fikir verir.

Kod:
Sub VeriDogrulama()

    Dim Rng As Range, _
        Txt As String, _
        Hcr As Range
   
    Set Rng = Range("A2:A5,A11:A14")
   
    For Each Hcr In Rng
   
        If Len(Txt) = 0 Then
            Txt = Hcr
        Else
            Txt = Txt & "," & Hcr
        End If
       
    Next Hcr
   
    With Range("C2:C6").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="" & Txt & ""
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
   
End Sub
Desteğiniz için çok teşekkür ederim üstadım, sağlıcakla kalın.
 
Merhaba,

Yine eksik bilgi sanırım.

A6:A10 aralığın sabit olacağını sanmıyorum, bu aralığın listeye girmemesini belirleyen bir kıstas var mı? bilinmiyor.

Verdiğiniz sınırları sabit kabul ederek bir örnek hazırladım. Belki bir fikir verir.

Kod:
Sub VeriDogrulama()

    Dim Rng As Range, _
        Txt As String, _
        Hcr As Range
   
    Set Rng = Range("A2:A5,A11:A14")
   
    For Each Hcr In Rng
   
        If Len(Txt) = 0 Then
            Txt = Hcr
        Else
            Txt = Txt & "," & Hcr
        End If
       
    Next Hcr
   
    With Range("C2:C6").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="" & Txt & ""
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
   
End Sub
Üstad kod harika çalışıyor çok teşekkürler. Sadece alttaki kısmın bitiş hücresinde revizyon yapabilir miyiz
Set Rng = Range("A2:A5,A11:A14")
A14 yerine A sütununda en altta dolu hücre adresini (değişken olabilir) belirlesin
 
Mesaj sayınız 4.250'yi geçmiş son hücre adresini bulma yöntemini halâ öğrenmediniz mi?

Forumda yüzlerce kez verildi...
 
Mesaj sayınız 4.250'yi geçmiş son hücre adresini bulma yöntemini halâ öğrenmediniz mi?

Forumda yüzlerce kez verildi...
Üstad serzenişde çok haklısınız. Tek alanda kolayca yapabiliyorum ama 2 alanı birleştiren nu kodda bildiğim yöntemler ve genel olarak forumlarda araştırdığım örnekler 2'li alan yapısında çalışmadı, hata veriyor. Acaba 'den fazla alan birleşince farklı bir kod mu gerekiyor diye üstadın yardımına başvurdum
 
İkili olunca ne değişiyor ki?

Sonuçta siz A sütunundaki en son satırı arıyorsunuz. Bu değeri bulup 14 yazan yere adapte edeceksiniz.
 
İkili olunca ne değişiyor ki?

Sonuçta siz A sütunundaki en son satırı arıyorsunuz. Bu değeri bulup 14 yazan yere adapte edeceksiniz.
Fikir için teşekkür ederim üstadım, her zamanki destekleriniz için çok teşekkür ederim. Sağlıcakla kalın
 
Geri
Üst