Excel VBA超出范围
我发现了这段代码,并尝试对其进行修改,以便将导入的数据存储在另一张表中 第一个代码是Excel VBA超出范围,vba,csv,excel,Vba,Csv,Excel,我发现了这段代码,并尝试对其进行修改,以便将导入的数据存储在另一张表中 第一个代码是Destination:=ActiveCell,我试图更改它,以便将数据存储在另一个工作表中。 我也试过这样做:Destination:=Workbook.Sheets(CSV.Cells)(1,1)),但它也不起作用 我也在寻找代码来自动选择最新的csv文件名为export price,但我还没有找到解决方案 Sub LoadProducts() Dim fileName As String, fold
Destination:=ActiveCell
,我试图更改它,以便将数据存储在另一个工作表中。
我也试过这样做:Destination:=Workbook.Sheets(CSV.Cells)(1,1))
,但它也不起作用
我也在寻找代码来自动选择最新的csv文件名为export price,但我还没有找到解决方案
Sub LoadProducts()
Dim fileName As String, folder As String
folder = "C:\Users\CP\Downloads\"
fileName = ActiveCell.Value
ActiveCell.Offset(1, 0).Range("A1").Select
With ActiveSheet.QueryTables _
.Add(Connection:="TEXT;" & folder & fileName, Destination:=Workbook.Sheets(CSV).Cells(1, 1))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
您需要正确声明对象,然后使用它们。这里有一个例子。如适用,进行更改
Dim wb As Workbook, thiswb As Workbook
Dim ws As Worksheet, thisws As Worksheet
'~~> Change as applicable
Set thiswb = ThisWorkbook
Set thisws = thiswb.Sheets("Sheet1")
CSV = "Sheet1"
Set wb = Workbooks.Open("C:\Blah Blah.xlsx")
Set ws = wb.Sheets(CSV)
With thisws.QueryTables _
.Add(Connection:="TEXT;" & folder & Filename, Destination:=ws.Cells(1, 1))
谢谢你,阿恩瑟。现在在文件夹上会有更多的csv文件要导入。当用户下载一个新的csv文件时,windows会给它一个新的编号export-price.csv export price(2).csv export price(3).csv export price(4).csv我可以使用代码选择包含导出价格的最新csv文件吗?是的,您可以这样做,或者您可以使用文件对话框让用户选择该文件。您知道我是怎么做的吗,在
应用程序.Getopenfilename
:)上搜索SO或事实上Excel的inbuit帮助有一个完整的代码示例。