• DİKKAT

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

veri çekme

Katılım
9 Aralık 2009
Mesajlar
160
Excel Vers. ve Dili
Office 2016 TR 64 Bit
tekrarlı olan tablodan istediğim ürünün bilgileri getirme sorun surda o üründen birkaçtane olunca nasıl olcak. macro kullanmadım uygulama yapacağim excelin zaten boyutu büyük. eğer say ile bişeyler yapacaktım düzenin bozulmaması gerekiyor başka formül ve vba var. şimdiden teşekkürler
 

Ekli dosyalar

  • 1.xlsx
    1.xlsx
    10.4 KB · Görüntüleme: 7
Bu işlem kod ile yapılırsa dosyanıza daha az yük olur.
Aşağıdaki kodları Sayfa2 nin kod sayfasına kopyalayın.
(Sayfa2 nin adını sağ tıklatın Kod Görüntüle seçin. Açılan sayfaya aşağıdaki kodları kopyalayın)

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Bak As Range
    Dim SonSatir As Long
    Dim SonSatirAktar As Long
    With Worksheets("Data")
        SonSatir = .Cells(Rows.Count, "A").End(3).Row
        If Not Intersect(Target, Range("D2")) Is Nothing Then
            For Each Bak In .Range("A3:A" & SonSatir)
                If Bak.Value = Target.Value Then
                    SonSatirAktar = Cells(Rows.Count, "A").End(3).Row + 1
                    .Range("A" & Bak.Row & ":D" & Bak.Row).Copy Range("A" & SonSatirAktar)
                End If
            Next
        End If
    End With
End Sub
 
teşşükkür ederim yarın excelimde deneyeceğim sorun yok gibi. ilginiz için teşekkürler
 
Zahmet olmazsa verileri buna göre uyarlayabilir misiniz ben denedim beceremedim


Bu işlem kod ile yapılırsa dosyanıza daha az yük olur.
Aşağıdaki kodları Sayfa2 nin kod sayfasına kopyalayın.
(Sayfa2 nin adını sağ tıklatın Kod Görüntüle seçin. Açılan sayfaya aşağıdaki kodları kopyalayın)

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Bak As Range
    Dim SonSatir As Long
    Dim SonSatirAktar As Long
    With Worksheets("Data")
        SonSatir = .Cells(Rows.Count, "A").End(3).Row
        If Not Intersect(Target, Range("D2")) Is Nothing Then
            For Each Bak In .Range("A3:A" & SonSatir)
                If Bak.Value = Target.Value Then
                    SonSatirAktar = Cells(Rows.Count, "A").End(3).Row + 1
                    .Range("A" & Bak.Row & ":D" & Bak.Row).Copy Range("A" & SonSatirAktar)
                End If
            Next
        End If
    End With
End Sub
 

Ekli dosyalar

  • 3.7z
    3.7z
    342.4 KB · Görüntüleme: 3
Geri
Üst