• DİKKAT

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

Soru Veri doğrulama listesini formülle başka sayfadan alma

Katılım
7 Eylül 2022
Mesajlar
38
Excel Vers. ve Dili
Microsoft 365 Sürüm 2207 _ Türkçe
database sayfasında B sütunundaki haftaları veri doğrulama liste ile rapor sayfasındaki H3 hücresine nasıl getirtebilirim?

(Araştırdığımda ="Hafta_"&BENZERSİZ(database!B2:B10485) formülü ile sutündaki benzersiz haftaları getirtip veri doğrulamaya gömdüm. Fakat bunun için arka plan 3. bir sayfaya ihtiyaç var.)
Yalnızca database ve rapor sayfası üzerinden veri doğrulamanın içine formül yazarak çözebilir miyim? Ekteki dosyadaki gibi.

Teşekkürler.
 

Ekli dosyalar

Merhabalar sizin de 365 kullandığınızı gördüğüm için size sormak istedim. Yardımcı olabilir misiniz ? @ÖmerFaruk
 
@Ömer Merhabalar sizin de 365 kullandığınızı gördüğüm için size sormak istedim. Yardımcı olabilir misiniz ?
 
Merhaba,

Deneme fırsatım olmadı ama nette araştırdığım kadarıyla direk veri doğrulamaya yazılacak bir formülle benzersiz liste görülemiyor. Excel sayfasında boş bir alanda bu listeyi oluşturup veri doğrulamaya bu listeyi tanımlayarak işlem yapabilirsiniz.

Linkte konuyla ilgili örnek anlatım yapılmış.

 
İsterseniz makro ile yapabilirsiniz. Aşağıdaki kodları rapor ekranı sayfasının kod bölümüne (sayfa adına sağ tıklayıp kod görüntüle deyince açılan sayfaya) yapıştırın. Başka sayfadan bu sayfaya geçtiğinizde H3 hücresine istediğiniz veri doğrulamayı uygular:

PHP:
Private Sub Worksheet_Activate()
Set s1 = Sheets("database")
son = s1.Cells(Rows.Count, "B").End(3).Row
Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=yes"""
sorgu = "select distinct Hafta from[database$] where Hafta is not null"
Set rs = con.Execute(sorgu)
ary = Application.Transpose(Application.Transpose(rs.getrows))
With [H3].Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:=Join(ary, ",")
    .IgnoreBlank = True
    .InCellDropdown = True
    .InputTitle = ""
    .ErrorTitle = ""
    .InputMessage = ""
    .ErrorMessage = ""
    .ShowInput = True
    .ShowError = True
End With
End Sub
 
Merhaba,

Şuan deneme şansım yok. Office 365 evdeki bilgisayarda kurulu.
Bende Korhan bey'in bahsettiği gibi bu fonksiyonun doğrulamada çalışmadığını daha önce rastladığımı hatırlıyorum.
 
Geri
Üst