ich habe ein Marko (siehe Anhang) mit welchem ich Spalten von einer Exceldatei in eine andere kopiere. Im Tabellenblatt "Inv" (fett makiert im Makro) möchte ich 2 SVERWEISE einfügen. Im Excel ohne Makro würden Sie so lauten:
=SVERWEIS(A9;'[2008-03-26 PlaTo10_Version 2008.xls]Inv'!$A:$M;12;FALSCH)
=SVERWEIS(A9;'[2008-03-26 PlaTo10_Version 2008.xls]Inv'!$A:$M;13;FALSCH)
Ich benötige das Marko, weil sich die Datei auf welche sich der SVERWEIS bezieht ändert. Das Tabellenblatt "Inv" bleibt aber immer. (es ändert sich nur der Dateiname) Mein Makro hilft mir immer die gewünschte Datei auszuwählen von der die Daten eingespielt werden sollen.
Hier ist mein Makro mit dem ich Spalten kopiere. was muss ich unter den Punkt "Inv" einfügen, dass der Verweis funktioniert?
Vielen Dank für euere Hilfe im Voraus.
Viele Grüße
Tobi
'Daten aus PlaTo kopieren
Sub LoadButton_Click()
Dim Prod As Worksheet
Dim filetoopen As String
Application.ScreenUpdating = False
filetoopen = Application.GetOpenFilename("Excel Files (*.xls), *.xls")
If filetoopen "False" And filetoopen "Falsch" And filetoopen "" Then
Workbooks.Open filetoopen
With ActiveWorkbook
'Produktion
Set Prod = ThisWorkbook.Sheets("Prod")
.Sheets("Prod").Range("A:A").Copy Destination:=Prod.Range("A:A")
.Sheets("Prod").Range("B:B").Copy Destination:=Prod.Range("B:B")
.Sheets("Prod").Range("D:D").Copy Destination:=Prod.Range("BD:BD")
.Sheets("Prod").Range("E:E").Copy Destination:=Prod.Range("BE:BE")
.Sheets("Prod").Range("F:F").Copy Destination:=Prod.Range("BF:BF")
'Umsatz
Set Rev = ThisWorkbook.Sheets("Rev")
.Sheets("Rev").Range("A:A").Copy Destination:=Rev.Range("A:A")
.Sheets("Rev").Range("B:B").Copy Destination:=Rev.Range("B:B")
.Sheets("Rev").Range("C:C").Copy Destination:=Rev.Range("C:C")
'Material
Set Mat = ThisWorkbook.Sheets("Mat")
.Sheets("Mat").Range("A:A").Copy Destination:=Mat.Range("A:A")
.Sheets("Mat").Range("B:B").Copy Destination:=Mat.Range("B:B")
.Sheets("Mat").Range("C:C").Copy Destination:=Mat.Range("C:C")
'Inv
Set Inv = ThisWorkbook.Sheets("Inv")
.Sheets("Inv").Range("A:G").Copy Destination:=Inv.Range("A:G")
'Fin
Set Fin = ThisWorkbook.Sheets("Fin")
.Sheets("Fin").Range("A:A").Copy Destination:=Fin.Range("A:A")
.Sheets("Fin").Range("B:B").Copy Destination:=Fin.Range("B:B")
.Sheets("Fin").Range("C:C").Copy Destination:=Fin.Range("C:C")
.Sheets("Fin").Range("D:D").Copy Destination:=Fin.Range("D:D")
'Stock
Set Stock = ThisWorkbook.Sheets("Stock")
.Sheets("Stock").Range("A:A").Copy Destination:=Stock.Range("A:A")
.Sheets("Stock").Range("B:B").Copy Destination:=Stock.Range("B:B")
.Sheets("Stock").Range("C:C").Copy Destination:=Stock.Range("C:C")
'Others
Set others = ThisWorkbook.Sheets("Others")
.Sheets("Others").Range("A:A").Copy Destination:=others.Range("A:A")
.Sheets("Others").Range("B:B").Copy Destination:=others.Range("B:B")
.Sheets("others").Range("F:F").Copy
others.Range("BD:BD").PasteSpecial Paste:=xlPasteValues
.Sheets("others").Range("G:G").Copy
others.Range("BE:BE").PasteSpecial Paste:=xlPasteValues
.Sheets("others").Range("H:H").Copy
others.Range("BF:BF").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
.Close
End With
End If
Application.ScreenUpdating = True
End Sub