Birden fazla veriyi aynı anda ayrı ayrı arama

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Hocam önce ilk veriyi aktaracak sonra ikincisini aktaracak.
yani ilk ver 10 adet
ikinci 10 adet ise
toplamda aktardığı 20 olacak.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,603
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Kayıtlar hangi sayfadan hangi sayfaya aktarılacak. Siz sorunuzda "Giriş" demişsiniz ama örnek dosyanızda STOK_DATA ve IRSALIYE isimli sayfalar mevcut.
 

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Kusura bakmayın örnek maçlı giriş demiştim. ama çalışmamı gönderdim. irsaliyeden stok sayfasına.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,603
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Sub AKTAR()
    İLK = Time
    Set SD = Sheets("STOK_DATA")
    Set SI = Sheets("IRSALIYE")
    Set WF = WorksheetFunction
    For X = 2 To SI.[A65536].End(3).Row
    SAY = WF.CountIf(SD.[A:A], SI.Cells(X, 1))
    If SAY = 0 Then
    SON_SATIR = SD.[A65536].End(3).Row + 1
    SD.Range("A" & SON_SATIR & ":F" & SON_SATIR).Value = SI.Range("A" & X & ":F" & X).Value
    ElseIf SAY > 0 Then
    SI.Cells(X, 4) = SI.Cells(X, 4) + WF.SumIf(SD.[A:A], SI.Cells(X, 1), SD.[D:D])
    End If
    Next
    SON = Time
    MsgBox "İŞLEM SÜRESİ : " & Format(SON - İLK, "hh:mm:ss.dd") & vbCrLf & vbCrLf & "İŞLEMİNİZ TAMAMLANMIŞTIR.", vbInformation
End Sub
 

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Hocam önce cevabınız için teşekkür ederim.
İstediğim olmadı .
Bir kaç sorun var.
1. Birlileri irsaliye sayfasından alıp stok sayfasına arayıp bulacak ve bulduğu değerin D sutunundaki değeri ile irsaliye sayfasındaki D sutunundaki değeri ile toplayacak. Sonra stok sayfasına D sutununa topladığı değeri işleyecek.
Şanda irsaliye sayfasına işliyor.

2- İrsaliye sayfasında aradığı değer stok sayfasında yok ise stok sayfasının son satırına irsaliye sayfasındaki arağıdı değeri ekleyecek.
Kou bu şekilde düzenleyebilirmiyiz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,603
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Birinci sorunuzu tam anlayamadım. İkinci sorunuza gelince kod şu haliyle zaten dediğiniz işlemi yapıyor.
 

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Hocam şu sekilde açıklmayayım.

İrsaliye sayfasında 50 satır var.
Stok sayfasında 11000 satır var.

irsaliye sayfasınının A hücresindeki 1101002 numarayı Stok sayfasının A sutununda arayacak . Bulduğunda Aradığı değerin İrsaliye sayfasında D sutunundaki değeri ile Stok sayfasının D sutunundaki değeri toplayıp stok sayfasının D sutunu yazacak.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,603
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Eklemiş olduğunuz örnek dosyada önerdiğim kodu denedim ve "Carrefour ürün kodu" sütununa göre uyan kayıtların D sütunundaki değerleri "IRSALIYE" isimli sayfanın D sütununa ekliyor. Sanırım siz "STOK_DATA" isimli sayfanın D sütununa eklemesini istiyorsunuz. Eğer istediğiniz buysa "STOK_DATA" sayfasının D sütununda formül var bu formül silinip değerlermi toplanacak. Yoksa "IRSALIYE" sayfasının D sütunundaki değer formülün sonunamı eklenecek.
 

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Hocam Kusura bakmayın sizi uğraştırdım
Formüller önemli değil formülleri kaldırabilirz. Sadece Koli bulmak için stok sayfasının E Sutununa D/E formülü ekletebiliriz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,603
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Yine tam olarak anladığımı sanmıyorum. Aşağıdaki kodu deneyip olumsuz sonuçları bildirirmisiniz.

Kod:
Sub AKTAR()
    İLK = Time
    Set SD = Sheets("STOK_DATA")
    Set SI = Sheets("IRSALIYE")
    Set WF = WorksheetFunction
    For X = 2 To SI.[A65536].End(3).Row
    SAY = WF.CountIf(SD.[A:A], SI.Cells(X, 1))
    If SAY = 0 Then
    SON_SATIR = SD.[A65536].End(3).Row + 1
    SD.Range("A" & SON_SATIR & ":F" & SON_SATIR).Value = SI.Range("A" & X & ":F" & X).Value
    ElseIf SAY > 0 Then
    SATIR = SD.[A:A].Find(SI.Cells(X, 1), LookAt:=xlWhole).Row
    SD.Cells(SATIR, 4) = SD.Cells(SATIR, 4) + SI.Cells(X, 4)
    [COLOR=RED]SD.Cells(SATIR, 6) = SD.Cells(SATIR, 4) / SI.Cells(X, 5)[/COLOR]
    End If
    Next
    SON = Time
    MsgBox "İŞLEM SÜRESİ : " & Format(SON - İLK, "hh:mm:ss.dd") & vbCrLf & vbCrLf & "İŞLEMİNİZ TAMAMLANMIŞTIR.", vbInformation
End Sub
 
Son düzenleme:

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Hocam teşekkürler.
Kodu tam anblamıyla test edemedim. Ettiğim kadarıyla istediğim gibi olm uşa benziyor.
Stok sayfasında olmayan bir ürünü eklediğinde A f arasını ekliyor bunu F sutununa D/E nin sonucu olarak ektebilirmiyiz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,603
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Zaten A-F sütun aralığına olmayan veriyi aktarıyor. Neden D/E sonucunu tekrar F sütununa aktarmak istiyorsunuz.
 

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Olmayan veriden 2 adet olduğunda ilkini aktarıyor. İkincisinin ise d sununu ile topluyor. Bu sebeple f sutunundaki değer olduğu gibi kalıyor.

Bu sebeple f sutununa d/e yaparsak o veride değişmiş olacak.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,603
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

D/E işlemi en son eklenen kayıt için STOK_DATA isimli sayfayamı yapılacak.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,603
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sanırım ne demek istediğinizi anladım. Üstteki önerdiğim kodu güncelledim. İncelermisiniz.
 

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Teşekkürler tam istediğim gibi olmuş. Ellerinize Sağlık.
 
Üst