Ich muss Vlookups für Daten in 2 Arbeitsmappen ausführen. Ich werde beide meine Arbeitsmappen öffnen, wenn die VBA-Codes ausgeführt werden, und ich speicherte beide Arbeitsmappen als XLSM, so dass beide Makro aktiviert sind.Vlookup in 2 Arbeitsmappen
Ich habe kein Problem mit der Vlookup Excel-Funktion, aber ich möchte es automatisch mit VBA-Code ausführen. Hier
ist die Information,
Ich habe 2 Arbeitsmappen, Book3.xlsm und Book32.xlsm. Book3 ist, wo ich mein Ergebnis haben möchte, wie im zweiten Bild gezeigt. Der Datenbereich variiert jeden Monat, also muss ich das Ende der letzten Zeile durchlaufen.
Ich habe 3 Spalten in Book3 ID und Typ und Ergebnis und 2 Spalten in Book32, ID und Ergebnis, und ich möchte Vlookup mit der ID-Spalte in Book3 und erhalten Sie die Werte in Ergebnisspalten in Book32. Die Daten befinden sich beide in Sheet1.
Jetzt wird mein Code ausgeführt, aber bitte suchen Sie nach dem ersten Bild, wo es nicht das gewünschte Ergebnis zeigt. Ich kann den Wert als # N/A belassen, wenn er nicht gefunden wird, aber in diesem Fall sollten alle Werte mit Vlookup gefunden werden.
Hier ist mein Code,
Sub test()
On Error Resume Next
Dim Res_Row As Integer
Dim Res_Clm As Integer
Dim Table1 As Range
Dim Table2 As Range
Dim cl As Range
Set Table1 = Workbooks("Book3.xlsm").Sheets("Sheet1").Columns("A:C")
Set Table2 = Workbooks("Book32.xlsm").Sheets("Sheet1").Columns("A:B")
Res_Row = Sheet1.Range("C2").Row
Res_Clm = Sheet1.Range("C2").Column
For Each cl In Table1
Sheet1.Cells(Res_Row, Res_Clm) = Application.WorksheetFunction.VLookup(cl, Table2, 2, False)
Res_Row = Res_Row + 1
Next cl
MsgBox "Done"
End Sub
Ich habe festgestellt, dass vlookup fehlerhaft ist, wenn Werte nicht [sortiert von AZ] (http://blog.contextures.com/archives/2016/03/03/excel-vlookup-sorting-problem/) noch [kleinste zum größten] (https://www.ablabits.com/office-addins-blog/2014/08/27/excel-vlookup-not-working/) und [einige andere erwartete Sachen] (https: //www.ablebits .com/office-addins-blog/2014/04/09/warum-excel-vlookup-not-working /), tendiere ich dazu, es möglichst zu vermeiden, weil es mir in der Vergangenheit Probleme bereitet hat und ich persönlich empfehle, ein zu machen UDF stattdessen. – Sgdva