Makro erstellt ein neues WorkSheet, fügt die Daten aus dem Zwischenspeicher ein, setzt SVERWEIS-Formeln in die definierten Zellen, kopiert sie, fügt sie als Werte ein und löscht das erstellte Arbeitsblatt wieder.
Sub XYZABGLEICH()
If MsgBox("Gewuenschte Daten kopieren und je nach Zeilenanzahl vorher ggf. Range in VBA anpassen!", vbOKCancel, "XYZ-Abgleich") = vbOK Then
Sheets.Add After:=ActiveSheet
ActiveSheet.Paste
Range("A:A,C:F,H:H,J:K").Select
Range("J1").Activate
Selection.Delete Shift:=xlToLeft
Sheets("ZielSheet").Select
Range("O2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC6,Tabelle1!C1:C3,2,FALSE)"
Range("P2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC6,Tabelle1!C1:C3,3,FALSE)"
Range("O2:P2").Select
Selection.AutoFill Destination:=Range("O2:P103")
Range("O2:P103").Select
Selection.Copy
Range("O2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Tabelle1").Select
ActiveWindow.SelectedSheets.Delete
Sheets("ZielSheet").Select
Range("O2").Select
Else
MsgBox "Abbruch, kein Abgleich vorgenommen!"
End If
End Sub