Bạn bè, Tôi đang cố gắng mở tệp CSV (được tạo hàng ngày từ một chương trình khác) mỗi ngày và sao chép dữ liệu trong trang tính CSV vào một trang tính nhất định trong sổ làm việc hiện tại của tôi. Tôi đã làm việc trên mã này trong một thời gian và tôi nghĩ rằng nó thực sự là gần đúng, nhưng tôi tiếp tục nhận được một lỗi thời gian chạy 438 trên dòng sao chép/dán của tôi. Bất kỳ giúp đỡ?Mở CSV và sao chép
Cảm ơn bạn!
Đây là mã của tôi:
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
trong khi parentaging bạn đề cập đến ở đây là đúng, sao chép trực tiếp cũng sẽ làm việc tốt, hãy thử dòng này: 'thatWS.Range (" A1: G150 ") Sao chép đích: = thisWS.Range (" A1 ")' Để rõ ràng, phương thức 'PasteSpecial' cũng sẽ hoạt động. Nó chỉ là không cần thiết. –
Cảm ơn cả hai. Cả hai giải pháp đều hoạt động chính xác. Tôi đã đánh dấu Lubos là chính xác, nhưng Scott hoạt động tốt như nhau. – tulanejosh