|
お世話になります。
はじめて利用させていただきます。
現在,下の内容を,ボタンに登録して,マクロ実行し,デスクトップ上の特定のCSVファイルデータ(「計算書」というファイル名のもの)をエクセルに取り込んでいます。
下記のままだと,マクロボタンを押して,データを取り込む前にその都度に取り込みたいデータ元となるデスクトップ上のCSVデータのファイル名を「計算書」として訂正しておかなければなりません。デスクトップ上のCSVファイルとしては「計算書1」や「収益表」と名前もついているものもあるので,それらのデータを取り込みたい際にも毎回ファイル名を「計算書」と訂正している状態です・・・。
そこで質問なのですが,下の記述を改良して,マクロボタンを押すと,入力フォームのようなものが画面上にあらわれて,そこに例えば,「計算書1」や「収益表」と手入力して,OKボタンやENTERを押せば,デスクトップ上の当該名前のCSVファイルのデータを取り込むような記述にする方法を探しています。
本,ネットなどを見て探してみましたが,よく分かりませんでした。
どなたかご教示いただければ幸いです。
どうかよろしくお願いいたします。
Sub データ取込()
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Documents and Settings\Owner\デスクトップ\計算書.csv", Destination:=Range( _
"A1"))
.Name = "計算書"
.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 = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
|
|