Veri eşleştirme

Katılım
9 Şubat 2005
Mesajlar
63
Excel Vers. ve Dili
excel 2007 Turkce+ingilizce
Arkadaşlar ekteki dosyada
Sheet 1 A sütununda 2000 adet irsaliye no su var
Sheet 2 A sütünunda 600 adet irsaliye no +B sütununda teslim tarihi var.
Yapmak istediğim,makro yardımı ile Sheeet 2 deki 600 verinin Sheet 1 deki karşılıklarını bulup yalnızca teslim tarhlerini karşılarına yazdırmak.
Sheet 2 deki veriler tex tir.
yardımlarınız için şimdiden teşekkürler.
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Aşağıdaki kodu deneyin.
Eşleştiremediği durumları tespit etmek içinde(kontrol maksatlıydı) sayfa2'de ok yazdıırdım. o satırı dsonra silersiniz gerekirse

[vb:1:8896289d10]Sub Makro1()
For i = 1 To Sheets(2).Cells(65536, 1).End(xlUp).Row
aranan = Sheets(2).Cells(i, 1)
With Sheets(1).Columns(1)
If WorksheetFunction.CountIf(Columns(1), aranan) > 0 Then
xxx = .Find(What:=aranan, After:=Cells(1, 1), LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False).Row
Sheets(1).Cells(xxx, 5) = Sheets(2).Cells(i, 2)
Sheets(2).Cells(i, 3) = "ok"
End If
End With
Next i
End Sub[/vb:1:8896289d10]
 
Katılım
9 Şubat 2005
Mesajlar
63
Excel Vers. ve Dili
excel 2007 Turkce+ingilizce
Danersin Bey
Çok teşekkür ederim,karşılaştırdıklarını ok lemesi çok daha güzel olmuş.
 
Katılım
9 Şubat 2005
Mesajlar
63
Excel Vers. ve Dili
excel 2007 Turkce+ingilizce
Arkadaşlar
Ekteki formülü ingilizce Excel de çalıştıramadım.
Değiştirilmesi gereken bir yermi var.
yardımlarınız için şimdiden teşekkürler.
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Bu dil ile ilgili bir sorun değildir, muhtemelen versiyon ile ilgili bir farklılık.
Excel versiyonunuzu yazarsanız (ingilizce) Bu satırda değişiklik yapılması gerekecek sanırım.

xxx = .Find(What:=aranan, After:=Cells(1, 1), LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False).Row
 
Katılım
9 Şubat 2005
Mesajlar
63
Excel Vers. ve Dili
excel 2007 Turkce+ingilizce
Excel 1998 İngilzce-Ofiste
Bugün ilave edebildim.
yardımlarınız için teşekkürler.
 
Katılım
2 Temmuz 2007
Mesajlar
93
Excel Vers. ve Dili
exel 2003 türkçe
selamlar

arkadaşlar son bi kodlama kaldı sonra programım sona eriyor yardımcı olursanız sevinirim..

ekteki dosyada cariye tıklıyoruz daha sonra bakiye kontrole tıklıyoruz güncelle dediğimiz zaman exceldeki K.S sayfasının Bsütunundan ismi ve AW sütunundan toplam borcu alıp BAKİYE_KONTROL sayfasında ilgili yerlere atacak devamında TAHSL sayfasında ki isimle eşleştirip kişinin kalan bakiyesini yine BAKİYE_KONTROL sayfasındaki B ve C sütunlarını birbirinden çıkartıp D sütunu kalan Borç hanesine işleyecek...

ne yapmak istediğimi programı açtığınızda Stok butonuna tıklayıp daha sonra Stok Kontrol butonuna tıklayıp Stok Güncelle butonundaki kodları inceleyerek sizler bu işi çok iyi bildiğiniz için anlamanız daha kolay olur şimdiden teşekürler son işlem bu daha sonra ihtiyacı olan arkadaşların kullanması için çok güzel bir program olarak ekleyeceğiz...


Ekli dosyayı görüntüle 21516
 

Korhan Ayhan

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

Aşağıdaki kodları formunuzdaki ilgili yerlere uygulayıp denermisiniz.

Kod:
Private Sub GÖSTER_Click()
    ListBox1.ColumnHeads = True
    ListBox1.ColumnCount = 5
    ListBox1.ColumnWidths = "70;70;75;70;"
    ListBox1.RowSource = "BAKİYE_KONTROL!A2:E" & [BAKİYE_KONTROL!A65536].End(3).Row
End Sub

Private Sub GÜNCELLE_Click()
    Set SKS = Sheets("K.S")
    Set ST = Sheets("TAHSL")
    Set SBK = Sheets("BAKİYE_KONTROL")
    SBK.Select
    SBK.[A2:D65536].ClearContents
    If SKS.[B2] = "" Then
    MsgBox "HENÜZ VERİ GİRİŞİ YAPILMAMIŞTIR !" & vbCrLf & "GÜNCELLEME YAPAMAZSINIZ !", vbExclamation, "UYARI !"
    Exit Sub: End If
    SON = SKS.[B65536].End(3).Row
    SBK.Range("A2:A" & SON) = SKS.Range("B2:B" & SON).Value
    SBK.Range("B2:B" & SON) = SKS.Range("AW2:AW" & SON).Value
    For X = 2 To [A65536].End(3).Row
    SBK.Cells(X, 3) = WorksheetFunction.SumIf(ST.[A:A], SBK.Cells(X, 1), ST.[B:B])
    SBK.Cells(X, 4) = SBK.Cells(X, 2) - SBK.Cells(X, 3)
    Next
    Cells.EntireColumn.AutoFit
    MsgBox "BAKİYE GÜNCELLEME İŞLEMİ TAMAMLANMIŞTIR.", vbInformation
End Sub
 
Katılım
2 Temmuz 2007
Mesajlar
93
Excel Vers. ve Dili
exel 2003 türkçe
çok teşekür ederim SYN COST_CONTROL yardımlarınız için ufak 1 2 derlemeden sonra yeni programımızı sayfamıza ekliyorum...


İYİ ÇALIŞMALAR...
 
Katılım
13 Ocak 2008
Mesajlar
3
Excel Vers. ve Dili
Excel 2003
bende denedim olmadı

Ya arkadaşlar şu excel eşleştirmesini bende yapamadım.
Bu arada makro kodlarını çok fazla bilmiyorum. bende de
xxx = .Find(What:=aranan, After:=Cells(1, 1), LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False).Row
satırında hata veriyor ancak adım adım çalıştırdığımda aranan doğru bir değer alıyor ama sonra olmuyor neden acaba.

Office 2003 Türkçe bu arada versiyonum
 
Katılım
13 Ocak 2008
Mesajlar
3
Excel Vers. ve Dili
Excel 2003
Hata değişti

şimdi bende programı kullandım ama hatanın nerde verdiğini buldum. eğer aranan kayıt diğer sayafada yoksa hata veriyor. Bu yüzden buna ne yapmam lazım.
Hata verdiği satır aşağıda.

xxx = .Find(What:=aranan, After:=Cells(1, 1), LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False).Row
 
Üst