【发布时间】:2017-04-08 07:44:56
【问题描述】:
我不是程序员 - 但我需要/想要在 Excel 中编写一个命令来将多个 .csv 文件聚合到一个工作簿中的单独工作表中...它运行一次,并复制/粘贴一个 .csv 的内容文件,但随后出现此错误:
Runtime error '438':
Object does not support this property or method.
我把它缩小到这一行:
'paste it
ThisWorkbook.Worksheets(Sheets.Count).Range("A1").Paste
但是,由于我对这一切都不熟悉,所以我不确定该怎么做。到目前为止,我刚刚从网络上抓取了似乎适用的代码 sn-ps。
Private Sub CommandButton1_Click()
Dim strFile As String, strPath As String
Dim wkb As Workbook
'Change this path for your own file location:
strPath = "C:[FILE PATH HERE]"
'this returns an empty string "" if the file cannot be found and will error
if the folder is incorrect
strFile = Dir(strPath & "*.csv")
Do While strFile <> ""
'open the csv file and assign it to a variable so that we can easily
reference it later
Set wkb = Workbooks.Open(strPath & strFile)
'add a new worksheet at the end of the macro workbook to paste into
ThisWorkbook.Sheets.Add After:=Sheets(Sheets.Count)
'get the range and copy it
wkb.Sheets(1).UsedRange.Copy
Debug.Print (Sheets.Count)
'paste it
ThisWorkbook.Worksheets(Sheets.Count).Range("A1").Paste
'close the csv file
wkb.Close
'find the next file - Dir without parameters will look for the next file in the folder that matches the first Dir call
strFile = Dir
Loop
End Sub
【问题讨论】: