5
朋友, 我试图每天打开一个CSV文件(每天从另一个程序生成),并将CSV表格中的数据复制到当前工作簿中的某个工作表中。我已经在这段代码上工作了一段时间,我认为它非常接近正确,但我一直在我的复制/粘贴行上收到运行时错误438。任何帮助?打开CSV并复制
谢谢!
这里是我的代码:
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
,而你在这里提到的parentaging是正确的,直接拷贝也将工作很好,试试这一行:'thatWS.Range(“A1:G150”)。复制目的地:= thisWS.Range(“A1”)'为了清楚,'PasteSpecial'方法也可以工作。这只是没有必要。 –
谢谢你们两位。两种解决方案都能正常工我将卢博斯标记为正确,但斯科特的作品同样出色。 – tulanejosh