CSV转换为VBA中的另一个工作簿
使用可用的代码更新了问题:
我希望能够有一个.xlsm文件将csv数据放入使用VBA for Excel的第二个.xlsm文件中。 后面的文件可能是在多台计算机上打开的。 以下是Excel中button后面的代码,试图完成此操作:
Sub bad_boy() Dim wb As Workbook, strFile As String, ws As Worksheet Set wb = Workbooks.Open("C:\Temp\TestFolder\son1.xlsm") 'set to current worksheet name Set ws = wb.ActiveSheet strFile = Application.GetOpenFilename("Text Files (*.csv),*.csv", , "Please select text file...") With ws.QueryTables.Add(Connection:="TEXT;" & strFile, Destination:=ws.Range("A1")) .TextFileParseType = xlDelimited .TextFileCommaDelimiter = True .Refresh End With End Sub
该代码应该使用户能够浏览并从他/她的电脑中select一个csv文件。
您已经将ws
声明为Worksheet对象:
Dim ws As Worksheet, strFile As String
但是您正试图为其分配一个Workbook
对象。 这总是会引起一个不匹配的错误。
Set ws = Workbooks.Open("C:\Temp\TestFolder\son1.xlsm")
尝试将该行更改为:
Dim wb as Workbook Set wb = Workbooks.Open("C:\Temp\TestFolder\son1.xlsm") Set ws = wb.ActiveSheet
然后删除Set ws = ActiveSheet
您正在尝试将工作表对象设置为一个string常量。 这是导致错误消息。