Soru dinamik bir veriye bağlı verileri açılır pencere olarak getirmek

Katılım
4 Ocak 2017
Mesajlar
9
Excel Vers. ve Dili
office 2013
Altın Üyelik Bitiş Tarihi
29-03-2024
merhabalar.ekte gönderdiğim çalışma kitabında sipariş ve bağlantı adında iki sayfa mevcut.yapmak isteyipte yapamadığım bağlantı sayfasından açtığım bağlantıyı sevkiyat çizelgesi sayfasında alış yada satış yapılan firmayı seçtiğimde yan stundaki bağlantı no kısmına o firmanın bağlantılarının açılır pencere olarak gelmesini sağlamak şimdiden ilgilerinize teşekkür ederim.
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Eğer doğru anladıysam öncelik BAĞLANTILAR sayfasıdna D1 hücresinde Alt+Enter ile iki satıra bölünen ifadeyi BAĞLANTI NO şeklinde tek satır yapın.

Sonra aşağıdaki kodları SEVKİYAT ÇİZELGESİ 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. O sayfada C2:C1000 ve K2:K1000 aralığında hücrelerde değişiklik yaptığınızda yan hücrelerinde veri doğrulama listesi o firmanın bağlantı numaraları olarak ayarlanacaktır:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Selection.Count > 1 Then Exit Sub
If Intersect(Target, [B2:B1000,K2:K1000]) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
Set s1 = Sheets("BAĞLANTILAR")
son = 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"""
Application.ScreenUpdating = False
    sorgu = "select distinct [BAĞLANTI NO] from [BAĞLANTILAR$] where FİRMA='" & Target & "'"
    Set rs = con.Execute(sorgu)
    ary = Application.Transpose(Application.Transpose(rs.getrows))
    With Target.Offset(0, 1).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
Application.ScreenUpdating = True
End Sub
Ayrıca dosyanızda BAĞLANTILAR sayfasında B sütunundaki veri doğrulamalarda gereksiz boş hücreler seçmişsiniz.
Bunu düzeltmek için öncelikle Formüller sekmesinde Ad Tanımla menüsünü açın.
Ad kısmına cariler yazın
Başvuru yeri kısmına aşağıdaki formülü yapıştırın ve işlemi tamamlayın:

=DOLAYLI("'CARİ KARTLAR'!$A$2:$A$"&BAĞ_DEĞ_DOLU_SAY('CARİ KARTLAR'!$A:$A))

FİRMA sütunundaki veri doğrulamada liste olarak aşağıdaki formülü kullanın:

=cariler
 
Üst