• DİKKAT

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

indis formülü ile düşeyara formülü ile gelen

Katılım
12 Şubat 2006
Mesajlar
411
Excel Vers. ve Dili
Office 365
Merhaba,
hazırlamak istediğim bir excel dosyası var. Yapmak istediğim işlem SECMEN SORGULAMA EKRANI sayfasında kimlik numarası ile sorgulama yaptığımda, ÜYE olan ve ÜYE olmayan kişilerin listesini getirmek. Ancak kişi ÜYE değilse, ADRES CADDE/SOKAK ADI ( C7 ) hücrede bulunan adres sokak ismine bakarak ÜYELERİMİZ sayfasından ADRES CADDE SOKAK ADI sütununu kontrol edecek ve (C7) hücresinde bulunan sokakta kayıtlı ÜYE listesini yandaki tabloya getirmesini istiyorum. Dosya ekleme kısmını göremediğim için dosyamı ekleyemedim.

Dosyayı ekli linkten indirebilirsiniz.

http://turbobit.net/obrlgsocyv20.html
 
Son düzenleme:
Dosya yükleme sitelerinden birine yükleyip linki paylaşır mısınız?
 
. . .

SECMEN SORGULAMA EKRANI çalışma sayfasının kod bölümüne yapıştırın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Target.Address(0, 0) <> "B2" Then Exit Sub
    
    With Application
        .ScreenUpdating = False: .Calculation = xlCalculationManual: .EnableEvents = False
    End With
    
    Dim SD As Worksheet: Set SD = Sheets("ÜYELERİMİZ")
    Dim SO As Worksheet: Set SO = Sheets("SECMEN SORGULAMA EKRANI")
    
    SO.Range("E3:F" & Rows.Count).ClearContents
    
    If SO.Range("C10") = 0 Then
    ara = SO.Range("C7")

    Dim liste(), dizi()
    son = SD.Cells(Rows.Count, "B").End(3).Row
    liste = SD.Range("A2:J" & son).Value
    
    ReDim dizi(1 To son, 1 To 6)
    For x = 1 To UBound(liste, 1)
        aranan = liste(x, 6)
        If aranan Like ara & "*" Then
            n = n + 1
            ReDim Preserve dizi(1 To son, 1 To 6)
            dizi(n, 1) = liste(x, 2)
            dizi(n, 2) = liste(x, 3)
        End If
        
    Next x
    SO.Range("E3").Resize(son, 2) = dizi
    End If
    
    With Application
        .ScreenUpdating = True: .Calculation = xlCalculationAutomatic: .EnableEvents = True
    End With
    
End Sub

. . .
 
Merhaba Hüseyin Bey,
Vermiş olduğunuz kod için teşekkür ederim. Kodu yazmış olduğunuz gibi çalışma sayfasının kod bölümüne yapıştırdım ve çalıştırdım. Kod size yollamış olduğum deneme excel sayfasında sorunsuz çalışıyor, ancak asıl dosyada kullandığımda sonuç vermiyor. Excel dosyasını makro içeren dosya olarak da kaydettim ama bir değişiklik olmadı. Acaba ben mi? yanlış bir işlem yaptım. Fikir verebilir misiniz?
 
. . .

Sayfa isimleri ve sütun sayısında değişiklik var.
Gün içinde müsait olduğumda inceleyeceğim...

. . .
 
. . .

Tabloda hiç veri olmadığı için deneyemedim ama şu kodları kullanın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Target.Address(0, 0) <> "B2" Then Exit Sub
    
    With Application
        .ScreenUpdating = False: .Calculation = xlCalculationManual: .EnableEvents = False
    End With
    
    Dim SD As Worksheet: Set SD = Sheets("UYELERIMIZ")
    Dim SO As Worksheet: Set SO = Sheets("SECMEN SORGULAMA EKRANI")
    
    SO.Range("E3:F" & Rows.Count).ClearContents
    
    If SO.Range("C18") = 0 Then
    ara = SO.Range("10")

    Dim liste(), dizi()
    son = SD.Cells(Rows.Count, "B").End(3).Row
    liste = SD.Range("A2:V" & son).Value
    
    ReDim dizi(1 To son, 1 To 22)
    For x = 1 To UBound(liste, 1)
        aranan = liste(x, 15)
        If aranan Like ara & "*" Then
            n = n + 1
            ReDim Preserve dizi(1 To son, 1 To 22)
            dizi(n, 1) = liste(x, 2)
            dizi(n, 2) = liste(x, 3)
        End If
        
    Next x
    SO.Range("E3").Resize(son, 2) = dizi
    End If
    
    With Application
        .ScreenUpdating = True: .Calculation = xlCalculationAutomatic: .EnableEvents = True
    End With
    
End Sub

. . .
 
Geri
Üst