Freunde, Ich versuche jeden Tag eine CSV-Datei (täglich von einem anderen Programm erstellt) zu öffnen und die Daten im CSV-Blatt in ein bestimmtes Blatt in meiner aktuellen Arbeitsmappe zu kopieren. Ich habe an diesem Code eine Weile gearbeitet und ich denke, es ist wirklich nah dran, richtig zu sein, aber ich bekomme immer einen Laufzeitfehler 438 auf meiner Kopie/Einfügen-Zeile. Irgendeine Hilfe?CSV öffnen und kopieren
Vielen Dank!
Hier ist mein Code:
Sub GetCSV()
Dim thatWB As Workbook, thisWB As Workbook
Dim thisWS As Worksheet, thatWS As Worksheet
Dim zOpenFileName As String
Dim inputData As String
'get name of sheet to open
inputData = InputBox("Enter name of file")
'open CSV file
zOpenFileName = Application.GetOpenFilename
'error handling
If zOpenFileName = "" Then Exit Sub
Application.ScreenUpdating = False
Set thisWB = ThisWorkbook 'destination workbook
Set thisWS = Sheets("f_dump") 'destination worksheet
Set thatWB = Workbooks.Open(zOpenFileName) 'source CSV
Set thatWS = thatWB.Sheets(inputData) 'source worksheet
Application.CutCopyMode = False
thatWB.thatWS.Range("A1:G150").Copy Destination:=thisWB.thisWS.Range("A1")
thatWB.Close
End Sub
während die parentaging Sie hier verwenden erwähnen richtig ist, die direkte Kopie wird auch funktioniert ganz gut, probiere diese Zeile: 'thatWS.Range (" A1: G150 "). Kopiere Destination: = thisWS.Range (" A1 ")' Um klar zu sein, funktioniert die 'PasteSpecial' Methode auch. Es ist einfach nicht notwendig. –
Danke euch beiden. Beide Lösungen funktionieren ordnungsgemäß. Ich habe Lubos als korrekt markiert, aber Scott funktioniert genauso gut. – tulanejosh