2014-02-12 66 views
0

我需要能夠使用獲取外部數據功能將逗號分隔Excel工作表中的列數據導入到新工作表中。我希望最初選擇用戶窗體中的文件,但無法弄清楚如何將用戶窗體中選擇的文件與導入命令相匹配。導入模塊的代碼已附加。如何從用戶表單中選擇文件後將CSV數據導入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 

而不是引用我記錄這個宏,我需要它來打開我的窗體中選擇文件時選擇的文件路徑。任何幫助將不勝感激。

感謝

+1

由於線」 .CommandType = 0' 宏將在Excel 2013失敗,錯誤「幫助:運行時錯誤5無效的過程調用或參數「。該行應該被刪除。 – arberg

回答

1

假設變量yourFilePath有路徑選擇的文件,你可以這樣做:

With ActiveSheet.QueryTables.Add(Connection:= "TEXT;" & yourFilePath, _ 
           Destination:=Range("$A$1")) 
    .CommandType = 0 
    .Name = "Moment(N-mm)" 
    .FieldNames = True 
    .RowNumbers = False 
    'etc 
+0

'yourFilePath =「C:\ Users \ --- \ Rainflow Data \ J-Rain Outputs \ Moment(N-mm).csv」'是否正確? –

相關問題