VBAで同じフォルダのCSVを同じシートに読み込みたいです。
VBAで同じシートに開くのは以下でできます。
Sub UCsvGet2()
cnstr = _
"text;C:\Documents and Settings\kazu\My Documents\test2.txt"
With ActiveSheet.QueryTables.Add(Connection:=cnstr, _
Destination:=Range("A1"))
.TextFileCommaDelimiter = True
.TextFilePlatform = 932
.Refresh
End With
End Sub
VBAでファイルを選択してOPENすることは以下でできます。
Sub GetPathName()
ffname = ActiveWorkbook.FullName ' ブックのフル名称を得る
pos = InStrRev(ffname, "\") ' うしろから \ を探す
curpath = Mid(ffname, 1, pos) ' 先頭から \ の位置までを取り出す
MsgBox pos & " " & curpath
Workbooks.OpenText Filename:= curpath & "test2.txt" , _
DataType:=xlDelimited, Comma:=True
End Sub
これを同時に行いたいのですが、どうすればよいでしょうか?
お知恵をお貸しください。
No.4ベストアンサー
- 回答日時:
#2 DOUGLAS_ です。
>自動でファイル見つけて読み込む形にしたい
>CSVを開くことなく取り込みがしたい
ということでしたら、別の Q&A で、そのままのご質問がありますので、ご参考にどうぞ。。。
●VBAでCSVファイルを読み込もうとしていますが
http://okwave.jp/qa/q5863691.html
なお、ご質問者さんは
Set fso = CreateObject("Scripting.FileSystemObject")
Set fileList = fso.GetFolder(targetFolder).Files
For Each file In fileList
として、指定 フォルダ 内の CSVファイル を拾おうとしていらっしゃいますが、[Dir 関数] を用いる方が簡単かと存じます。
No.3
- 回答日時:
もう少し、具体的に書いてあると変な推測をしなくてすむのですが……
自ブックと同じフォルダにあるTest2.txtをアクティブなシートに読み込んで見ました。これでいいのかなぁ?
Sub Sample()
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & ThisWorkbook.Path & "\test2.txt", Destination:=Range("A1"))
.TextFileCommaDelimiter = True
.TextFilePlatform = 932
.Refresh
Sub Sample()
No.2
- 回答日時:
ご質問の タイトル
>VBAで同じフォルダのCSVを同じシートに読み込みたいです。
からすると、
>VBAで同じシートに開く
>VBAでファイルを選択してOPENする
>これを同時に行いたい
というのと内容が異なるような気がしますが。。。
ひょっとしてこういうことですか?
Sub UCsvGet2()
ffname = ActiveWorkbook.FullName ' ブックのフル名称を得る
pos = InStrRev(ffname, "\") ' うしろから \ を探す
curpath = Mid(ffname, 1, pos) ' 先頭から \ の位置までを取り出す
MsgBox pos & " " & curpath
cnstr = _
"text;" & curpath & "test2.txt"
With ActiveSheet.QueryTables.Add(Connection:=cnstr, _
Destination:=Range("A1"))
.TextFileCommaDelimiter = True
.TextFilePlatform = 932
.Refresh
End With
Workbooks.OpenText Filename:=curpath & "test2.txt", _
DataType:=xlDelimited, Comma:=True
End Sub
この回答への補足
言葉足らずですみません。やりたいことは、test1.xlsmにtest2.csvを取り込みたいということです。できれば、自動でファイル見つけて読み込む形にしたいのですが、取り込むファイルを選択する形でもかまいません。要するに、CSVを開くことなく取り込みがしたいです。
補足日時:2010/05/07 09:17No.1
- 回答日時:
>これを同時に行いたい
ごく簡単に,マクロを一つにすればつるつるっと一続きに出来ます。
あまり手を入れて失敗するより,既に出来ている事でやっつけた方が遙かに安全です。
Sub UCsvGet2()
cnstr = _
"text;C:\Documents and Settings\kazu\My Documents\test2.txt"
With ActiveSheet.QueryTables.Add(Connection:=cnstr, _
Destination:=Range("A1"))
.TextFileCommaDelimiter = True
.TextFilePlatform = 932
.Refresh
End With
ffname = ActiveWorkbook.FullName ' ブックのフル名称を得る
pos = InStrRev(ffname, "\") ' うしろから \ を探す
curpath = Mid(ffname, 1, pos) ' 先頭から \ の位置までを取り出す
MsgBox pos & " " & curpath
Workbooks.OpenText Filename:= curpath & "test2.txt" , _
DataType:=xlDelimited, Comma:=True
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの警告について
-
エクセルを共有するとPCによっ...
-
エクセルにおける,「ブック」...
-
VBAでブックを非表示で開いて処...
-
エクセルの関数 ENTERを押...
-
エクセルで参照しているデータ...
-
Excel起動時に特定のワークシー...
-
同じフォルダへのハイパーリン...
-
複数ファイルから特定シートの...
-
WorkBooksをオープンさせずにシ...
-
Excel(2010)のフィルターが保...
-
エクセルで「ディスクがいっぱ...
-
Excel: ハイパーリンクのジャン...
-
フォルダ内の複数ファイルから...
-
エクセルファイルを開かずにpdf...
-
ブックのピボットを別ブックに...
-
ブックの保護ができないんです...
-
エクセル:特定のブックのみ、...
-
特定ファイルの更新日時を表示...
-
Excelで、複数ブックの複数シー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
エクセルを共有するとPCによっ...
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
Excel(2010)のフィルターが保...
-
エクセルで参照しているデータ...
-
エクセルにおける,「ブック」...
-
エクセルファイルを開かずにpdf...
-
ブックのピボットを別ブックに...
-
Excelで複数ブックの同一セルに...
-
Excelファイルをダブルクリック...
-
エクセルで「ディスクがいっぱ...
-
WorkBooksをオープンさせずにシ...
-
Excelでブックの共有を掛けると...
-
複数ファイルから特定シートの...
-
エクセルシートの一部を送りたい
-
Excel起動時に特定のワークシー...
-
エクセルで別ブックをバックグ...
-
エクセルで50行ごとに区切った...
-
別ブックから入力規則でリスト...
おすすめ情報