• DİKKAT

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

zimmet iade işlemi

Katılım
27 Temmuz 2007
Mesajlar
113
Excel Vers. ve Dili
ofis 2000
Saygı değer üstadlarım,

Bir sayfada listelenmiş demirbaşların diğer sayfada uygun olanları bularak iade miktar ve tarih hücrelerinin kaydını yapan kodlara ihtiyacım var. İstediğim örneği ekli toplada daha detaylı atlattım.Yardımlarınız için şimdiden teşekkür ederim.
 

Ekli dosyalar

Merhaba,sorunuzu tam anlamadım iade tarihi ve miktarımı yazılacak sadece,öyleyse kodları deneyin.
Kod:
Sub fdl()
For i = 14 To Sheets("zimiade").Range("b65000").End(xlUp).Row
    Set bul = Sheets("parzim").Range("c6:c65000").Find(Sheets("zimiade").Cells(i, 2).Value)
    If Not bul Is Nothing Then
 Sheets("parzim").Range("k" & bul.Row).Value = Sheets("zimiade").Range("j" & i).Value
 Sheets("parzim").Range("e" & bul.Row).Value = Sheets("zimiade").Range("d" & i).Value
 End If
Next
End Sub
 
sayfa ve hücre formatı

sayın üstadım, detaylarını ekli dosyafa belirttiğim, bir sayfadaki hücre formatı ile ilgili düzenlemeye ihtiyacım var. Yardımcı olursanız sevinirim.
 

Ekli dosyalar

hocam burada bir sorunum var.aynı malzeme bir kaç kişiye zimmetlendiği zaman iade işlemi yaparken ilk bulunan seçiliyor. arama yaparken isme göre ve ve tutar kriterlerinide dikkate almamız gerekiyor. rica etsem bunuda düzenleyebilirmiyiz.
 
iki sütundaki kritere göre for döngüsüyle karşılaştırma biraz hesaplaması uzun sürer ama kesin sonuç verir.
Kod:
 Sub fd()
Dim i, s As Long
For i = 14 To Sheets("zimiade").Range("b65000").End(xlUp).Row
For s = 6 To Sheets("parzim").Range("b65000").End(xlUp).Row
a = Sheets("parzim").Range("c" & s).Value
b = Sheets("zimiade").Range("b" & i).Value
c = Sheets("parzim").Range("f" & s).Value
d = Sheets("zimiade").Range("e" & i).Value
If a = b And c = d Then
Sheets("parzim").Range("k" & s).Value = Sheets("zimiade").Range("j" & i).Value
 Sheets("parzim").Range("e" & s).Value = Sheets("zimiade").Range("d" & i).Value
 End If
Next
Next
End Sub

find foksiyonuyla iki kritere göre karşılaştırmayı bilmiyorum ama şöyle yapabiliriz, ilk olarak tutarı ararız bulundugu satırdan sonraki hücrelerde malzemeyi ararız aynı tutarda farklı malzeme varsa yanlış sonuç verebilir.ama hızlı olur.
Kod:
Sub fedeal()
For i = 14 To Sheets("zimiade").Range("b65000").End(xlUp).Row
    Set bul = Sheets("parzim").Range("f6:f65000").Find(Sheets("zimiade").Cells(i, "e").Value)
    If Not bul Is Nothing Then
    Set bul1 = Sheets("parzim").Range("c" & bul.Row & ":c65000").Find(Sheets("zimiade").Cells(i, "b").Value)
    If Not bul1 Is Nothing Then
 Sheets("parzim").Range("k" & bul1.Row).Value = Sheets("zimiade").Range("j" & i).Value
 Sheets("parzim").Range("e" & bul1.Row).Value = Sheets("zimiade").Range("d" & i).Value
 End If

Deneyin belki uzmanlarımızdan daha işlevsel yanıt gelir bizde faydalanırız,Saygılar.
 
Geri
Üst