A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こういう手作業では面倒なものはVBAでやるほか仕方がない。
そういうことを認識した上で、今までVBAを少しやった人ならWEB記事を調べて、コードを作れるでしょう。 今までやったこともないなら丸投げの、回答コピペになるが、その後の「質問者に合わせた、対処(修正)が出来ず無理だろう。
VBAでは無いがFSOを使うほうが良いでしょう。Dir関数を使うというのも在るが
(1)フォルダ内のファイル名を順次掴む。
テキストファイル以外があるなら、拡張子で篩(ふるい)に掛ける。
(2)そのファイル名でそのテキストファイルを開き、レコードを終わりまで1つずつ、読む
エクセルでは列に当たる項目に分離して、その行にデータをセット刷る
次のレコードを読む
(3)終わると、次のファイルを掴んで同じ処理をする。
そのフォルダで尽きた場合は、次のフォルダに行く
ーー
フォルダの数はきまっているのか。すなわち名前は(列挙的で)決っているのか?>とこのような感じで、とぼかされると判らない。
親フォルダの下にあるフォルダの中の(テキストファイル)ファイルをすべて対象にするのか。
これらのループ関連を図示して整理し、コードに取り掛かれば、勉強するコードのタイプとしては2,3類型だ。
外から
(1)親フォルダのループ
(2)フォルダのファイルを掴むループ
(3)ファイルのレコードを読み処理するループ
(4)シートの各列にデータをセットするループ
などがネストすることになろう。
データ実物が無いのでコードを作成してテストできない。本来質問者がこつこつやるべきことだ。
ーー
http://itpro.nikkeibp.co.jp/article/COLUMN/20060 …
に類したものが沢山在る
Googleで「FSO フォルダ内ファイルを掴む」「FSO フォルダ ファイル」などで照会。
ーー
テキストファイルを読む
http://www.ken3.org/vba/backno/vba029.html など
テキストファイルもCSV始め色々あるのに質問に書いてない。認識が甘い。そういうことだと、回答者もコードはかけない。
回答ありがとうございます。
いろいろ教えて頂きありがとうございます。
ちょっと自分には、敷居が高く理解できません。
今回のケースで具体的なVBAを教えて頂けないでしょうか?
よろしくお願いします。
No.1
- 回答日時:
マクロを作ってみました。
Sub Sample()
Dim buf As String
Dim buf2 As String
Dim cnt As Long
Dim lp As Long
Dim lr As Long
Dim f(4) As String
Dim Path As String
Dim st(4) As String
f(1) = "C:\フォルダ1\" 'フォルダ1は、実際のフォルダ名に修正する
f(2) = "C:\フォルダ2\"
f(3) = "C:\フォルダ3\"
f(4) = "C:\フォルダ4\"
st(1) = "Sheet1" 'Sheet1にフォルダ1の内容を貼り付ける
st(2) = "Sheet2"
st(3) = "Sheet3"
st(4) = "Sheet4"
For lp = 1 To 2
lr = 1
cnt = 0
Path = f(lp)
buf = Dir(Path & "*.txt")
Do While buf <> ""
cnt = cnt + 1
Worksheets(st(lp)).Cells(lr, 1) = f(lp)
Worksheets(st(lp)).Cells(lr, 2) = buf
Open Path & buf For Input As #1
Do Until EOF(1)
Line Input #1, buf2
Worksheets(st(lp)).Cells(lr, 3) = buf2
lr = lr + 1
Loop
Close #1
buf = Dir()
Loop
Next lp
End Sub
回答ありがとうございました。
今、試してみたのですが、私の思っているのとは違うようです。
各カテゴリをシート別に分けるのではなく、あくまでも、シート1のA列にカテゴリをB列にはテキストファイルの名前を、そして、C列にはテキストファイルの中身を入れたいです。
また、テキストファイルには改行が入っています。
1つのセルに改行を含めた文章を入れたいです。
また、フォルダの数も多いので、いちいちマクロに書くのが面倒です。
せっかく作って頂いたのですが、申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/16 14:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/15 16:33
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Excel(エクセル) フォルダAから1つのファイルだけを、フォルダBへを移動するVBAについて 2 2022/07/25 11:45
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Windows 10 Windows10で、フォルダにあるすべてのファイルを、下層フォルダも含め一つの階層へ配置し直したい 3 2022/05/31 09:50
- Visual Basic(VBA) 【マクロ】フォルダにファイルが1つも無い時に、ファイルがありませんとメッセージを表示する 4 2022/08/28 08:48
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/02 11:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
ファイル名と同名のフォルダを...
-
EXPLORERで開いているフォルダ...
-
C ファイル出力で、フォルダが...
-
ファイル名から該当フォルダへ移動
-
VBA:特定の文字を含むフォルダ...
-
多量のファイルをフォルダに自...
-
サーバ内のフォルダ名と各フォ...
-
条件に合うフォルダが存在する...
-
パス名に2バイト文字(マルチバ...
-
カレントフォルダって?
-
Excel VBA 同じ名前のフォルダ...
-
フォームを最前面に表示したい...
-
フォルダ配下のファイル作成日...
-
Hitachi Embedded Workshop (HE...
-
vbsで選択ダイアログを表示した...
-
VS2005で"定義へ移動"ができません
-
VBA フォルダ名に特定の文字を...
-
バッチファイルで指定フォルダ...
-
フォルダ内のPDFファイル名を変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
パス名に2バイト文字(マルチバ...
-
ファイル名と同名のフォルダを...
-
VBA 最新のフォルダ取得
-
Excelのハイパーリンクについて...
-
デスクトップの画像をhtmlに表...
-
ディレクトリ名変更してコピー...
-
VBA フォルダ名に特定の文字を...
-
バッチファイルで指定フォルダ...
-
フォルダ内のPDFファイル名を変...
-
Access VBA で フォルダ権限...
-
excelマクロ 冒頭3文字が一致す...
-
【マクロ】ファイル名の日付に...
-
フォルダにリンクを貼りたい
-
会社のネットワーク上のファイ...
-
多量のファイルをフォルダに自...
-
C ファイル出力で、フォルダが...
-
保存先のフォルダ名を指定した...
-
vbsで選択ダイアログを表示した...
-
Excel VBA 同じ名前のフォルダ...
おすすめ情報