我需要能够使用get external data函数将列数据从逗号分隔的Excel工作表导入到新工作表中。我希望最初在用户窗体中选择文件,但无法弄清楚如何使用导入命令来配合用户窗体中选择的文件。附加了导入模块的代码。
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\---\Rainflow Data\J-Rain Outputs\Moment(N-mm).csv" _
, Destination:=Range("$A$1"))
.CommandType = 0
.Name = "Moment(N-mm)"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
我需要它来打开我在userform中选择的文件,而不是引用我在录制此宏时选择的文件路径。任何帮助将不胜感激。
由于
答案 0 :(得分:1)
假设变量yourFilePath
具有所选文件的路径,您可以这样做:
With ActiveSheet.QueryTables.Add(Connection:= "TEXT;" & yourFilePath, _
Destination:=Range("$A$1"))
.CommandType = 0
.Name = "Moment(N-mm)"
.FieldNames = True
.RowNumbers = False
'etc