我已经搜索了一段时间,但无法找到简单的解决方案。我的csv文件中包含数据,我希望使用vba将其读取到excel中,并将结果输出到特定工作表上的特定单元格范围内。
我一直在使用以下代码,但如果我两次运行excel宏,它基本上会将数据追加到下一个空列而不是复制过去。它也只将其粘贴到活动工作表而不是我指定的工作表。
有没有建议可以帮助我实现这个功能?
谢谢。
Public Sub Example()
Const csPath As String = "starting_positions.csv"
Dim ws As Excel.Worksheet
Set ws = Excel.ActiveSheet
With ws.QueryTables.Add("TEXT;" & csPath, ws.Cells(1, 1))
.FieldNames = True
.AdjustColumnWidth = True
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileCommaDelimiter = True
''// This array will need as many entries as there will be columns:
.TextFileColumnDataTypes = Array(xlTextFormat, xlTextFormat)
.Refresh
End With
End Sub
.Name = "Conn_Name"
,并在End With
后添加ThisWorkbook.Connections("Conn_Name").Delete
。这将添加连接、重试数据,并在此后删除它。 - Peter L.