![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Excel(エクセル) 複数のブックをひとつのブック(複数のシートにまとめる)場合にシートとの順番について 5 2022/12/28 20:47
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでブックを非表示で開いて処...
-
エクセルを共有するとPCによっ...
-
エクセルの関数 ENTERを押...
-
エクセルで「ディスクがいっぱ...
-
エクセルで参照しているデータ...
-
Excelでブックの共有を掛けると...
-
エクセルでウィンドウの枠固定...
-
Excelで複数ブックの同一セルに...
-
エクセルで別ブックをバックグ...
-
エクセルにおける,「ブック」...
-
エクセルで複数のシートを別フ...
-
EXCEL VBAマクロ作成で、他のEX...
-
複数ファイルから特定シートの...
-
WorkBooksをオープンさせずにシ...
-
エクセルの「ウィンドウ→表示し...
-
エクセルファイルを開かずにpdf...
-
エクセルで開いていないbookの...
-
フォルダ内の複数ファイルから...
-
Excelのデータが重くて開けない
-
エクセルで50行ごとに区切った...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
エクセルを共有するとPCによっ...
-
エクセルで参照しているデータ...
-
WorkBooksをオープンさせずにシ...
-
Excel(2010)のフィルターが保...
-
フォルダ内の複数ファイルから...
-
Excelでブックの共有を掛けると...
-
複数ファイルから特定シートの...
-
エクセルで「ディスクがいっぱ...
-
Excelで複数ブックの同一セルに...
-
エクセルファイルを開かずにpdf...
-
エクセルで別ブックをバックグ...
-
エクセルで50行ごとに区切った...
-
外部ブック参照が#REF!になって...
-
エクセル2016です。「ブッ...
-
エクセルの関数について教えて...
-
エクセルシートの一部を送りたい
-
ブックのピボットを別ブックに...
-
Excel起動時に特定のワークシー...
おすすめ情報