エクセルVBAでCSV読み込みについて質問します。
エクセルVBAでCSV読み込みについて質問します。
外部データの取り込みマクロを自動記録で作成しましたが、
csvファイル名が決まってしまうで、他のCSVファイルに展開できません。
できれば、マクロ実行(ファイル選択)ボタンを押すとウィンドウが出てきて、
任意の場所にあるCSVファイルを選択できるようにできないでしょうか?
マクロは、書き込むエクセルブックが開いている状態からスタートし、シート名は共通です。
自動記録で完成したマクロは以下の通りです。
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:¥Documents and Settings¥USER¥My Documents¥VBA¥マクロ¥取り込み¥TEST1.csv" _
’”¥”が誤変換されるので、直接入力しました。
, Destination:=Range("M6"))
, Destination:=Range("M6")) _
, Destination:=Range("M6"))
.Name = "290TEST1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 932
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _
2)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
'以下、続くので省略しました。
End Sub
どなたか、お助けお願いします。
お礼
URL見ました。わざわざお調べいただき、ありがとうございます。 それではどうしようもないということですね。 マイクロソフトも認めておいて、どうして手をうたないのでしょうかね?