Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6254 / 76734 ←次へ | 前へ→

【76082】入力フォーム
質問  勉強中  - 14/9/19(金) 23:05 -

引用なし
パスワード
   お世話になります。
はじめて利用させていただきます。
現在,下の内容を,ボタンに登録して,マクロ実行し,デスクトップ上の特定の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
3 hits

【76082】入力フォーム 勉強中 14/9/19(金) 23:05 質問
【76083】Re:入力フォーム kanabun 14/9/20(土) 0:03 発言
【76084】Re:入力フォーム カリーニン 14/9/20(土) 0:07 発言
【76085】Re:入力フォーム カリーニン 14/9/20(土) 0:12 発言
【76089】Re:入力フォーム 勉強中 14/9/20(土) 21:08 お礼

6254 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free