2017-10-03 3 views
0

Ich versuche, ein Makro zum Senden von E-Mails von Outlook zu erstellen. Ich habe einige Änderungen an den Rohdaten vorgenommen, für die ich Codes vergeben habe.Vlook up Daten von einem anderen Blatt auf Konto-Wert

Da ich neu in VBA bin, weiß ich nicht, wie man die Vlookup-Funktion verwendet und auch nicht sehr gut mit vlookup in Excel vertraut bin :(Ich versuche, die Daten aus Stammdaten (Blattname) -Col A hat Konto & Col B-Werte hat. I-Code die Werte der Col B, wenn Col A in dort in der E-Mail-Ausgabeblatt.

Stammdaten Probe

Account Value 
803  A 
691  B 
8010 C 

ich kopieren möchten die Werte erhalten möchten in der Spalte I des E-Mail-Ausgabeblattes, wenn die Kontonummer im Col A.Can Ihnen hilft?

Col A Col I

Account Value 
803  Copy values from Master data depending on Account Value 
691  Copy values from Master data depending on Account Value 
8010 Copy values from Master data depending on Account Value 
+1

'= VLOOKUP (A2, MasterDataSheet! A: B, 2, FALSE) ' –

+0

Danke ... kannst du mir mit dem VBA Code helfen? – abi

Antwort

2

Hier ist mein Code, versuchen Im nicht standardmäßig VLOOKUP Funktion auf vba verwenden, aber eine Logik hinter dieser Funktion zu wissen, wie SVERWEIS funktioniert

With Sheets("Master Data") 
    i1 = 2 
    Do While Sheets("Email Output").Cells(i1, 1).Value <> vbNullString 
     i2 = 2 
     Do While .Cells(i2, 1).Value <> vbNullString 
      If Sheets("Email Output").Cells(i1, 1).Value = .Cells(i2, 1).Value Then 
       Sheets("Email Output").Cells(i1, 2).Value = .Cells(i2, 2).Value 
       Exit Do 
      End If 
      i2 = i2 + 1 
     Loop 
     i1 = i1 + 1 
    Loop 
End With 
+0

Danke. Ich habe diesen Code ausprobiert. es holt die Werte von den Stammdaten richtig .. aber zu dem Col B. Ich will, dass die Daten nach Col. I kopiert werden. Können Sie mir helfen? – abi

+1

Ersetzen Sie einfach die Reihenfolge der Spalte, die Sie X wollen: 'Sheets (" Email Output "). Zellen (i1, X) .Value = .Cells (i2, 2) .Wert", in Ihrem Fall hat Spalte I Auftrag 9 Der Code sieht dann so aus: 'Sheets (" Email Output "). Zellen (i1, 9) .Value = .Cells (i2, 2) .Wert' –

+0

Vielen Dank Agung – abi

Verwandte Themen