![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
エクセル VBA 手探り状態です。
001大企業.xls、001中小企業.xls、003大企業.xls、003中小企業.xls、008大企業.xls、008中小企業.xls・・・・というファイルが300ほど企業種類という名前のフォルダにあります。
VBAで企業種類という名前のフォルダの中に、001、003、008・・・というフォルダは作成しました。
(ネットで”フォルダ作成”を検索して、、、自力ではVBAは書けません)
それを001という名前のフォルダへは、001大企業.xls、001中小企業.xlsのファイル、003という名前のフォルダへは003大企業.xls、003中小企業.xlsのファイルを、008フォルダへは008大企業.xls、008中小業.xlsファイルを・・・というように、マクロで移動させたいのです。
これらのファイル、フォルダは全て、企業種類というフォルダの中にあります。
VBAを教えていただけましたら嬉しいです。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
じゃ簡単に
ファイル名取得の方から
Dim buf As String, cnt As Long
Const Path As String = "C:\~\~\企業種類\"←これを企業種類フォルダのフルパス+\に変更
buf = Dir(Path & "*.xls")
Do While buf <> ""
ファイル移動処理
buf = Dir()
Loop
フォルダ内のエクセルファイル名を順に取得する動作の中に
ファイル移動処理が
cno = Left(buf, 3)
Name Path & buf As Path & cno & "\" & buf
取得したファイル名が"001大企業.xls"だった場合
As Path & "\" & cno = C:\~\~\企業種類\001 となるので
C:\~\~\企業種類\001\001大企業.xls として移動する処理
組合させた結果が
Sub Sample()
Dim buf As String, cnt As Long
Const Path As String = "C:\~\~\企業種類\"
buf = Dir(Path & "*.xls")
Do While buf <> ""
cno = Left(buf, 3)
Name Path & buf As Path & cno & "\" & buf
buf = Dir()
Loop
End Sub
となるのですが、コレでほんとに希望動作になるかは検証していない
(Dirで呼び出したファイルが消えた場合次のDirの動作が正常に動くのかが自信ない)
ファイルのコピーではなく移動なので、元のデータが中途半端に移動したり、消えたりする可能性があるので、元フォルダーの中身の一部をコピーしたフォルダーで動作試験を行ってから元フォルダでの実行をお薦めします
No.1
- 回答日時:
フォルダ内のファイル名取得
http://officetanaka.net/excel/vba/file/file07.htm
ファイルの移動
http://officetanaka.net/excel/vba/statement/Name …
この2つを組み合わせればできます
早速の回答ありがとうございます。
フォルダにある、001大企業.xls、001中小企業.xls・・・のファイルをシートに一覧表示して、そのファイルを001、002・・・フォルダへ移動させるということでしょうか。
本当に手探り状態なので、VBAをどう繋げてよいかわかりません。
応用できないのです。
具体的に教えていただけたらうれしいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Excel(エクセル) フォルダ階層が深いファイルの拡張子の一括変換 2 2022/12/23 18:40
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Visual Basic(VBA) エクセルのマクロについて質問があります。 現在は下記のマクロでエクセル表を保存しています ThisW 2 2022/09/16 11:22
- Visual Basic(VBA) エクセルVBA Workbook変数に変数を使ったファイル名を格納したい 5 2023/06/13 14:46
- Excel(エクセル) 【VBA】フォルダAにある2つのファイルの内1つを、フォルダBへ。もう1つを、フォルダBへ移動したい 6 2022/07/26 08:51
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Visual Basic(VBA) エクセルVBA 既存エクセルを開きその中のシートとしてCSVファイルを開く 3 2023/05/31 13:11
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
多量のファイルをフォルダに自...
-
【マクロ】ファイル名の日付に...
-
Excelのハイパーリンクについて...
-
VBA 最新のフォルダ取得
-
exeと同じ階層にフォルダを配置...
-
バッチファイルが保存されてい...
-
Excelで指定したフォルダに保存...
-
あるフォルダの中にあるファイ...
-
マクロについて教えてください ...
-
あるフォルダーのファイルを違...
-
サーバ内のフォルダ名と各フォ...
-
フォルダ内のPDFファイル名を変...
-
Access VBA で フォルダ権限...
-
フォームを最前面に表示したい...
-
ExcelのVBAでの複数階層からの...
-
C ファイル出力で、フォルダが...
-
PSPICE 9.1 STUDENT VERSION ...
-
フォルダを開いて、閉じるのプ...
-
VB6でCSVファイルにパスワード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
ファイル名と同名のフォルダを...
-
VBA 最新のフォルダ取得
-
【マクロ】ファイル名の日付に...
-
windowsでテキストファイルの各...
-
デスクトップの画像をhtmlに表...
-
Access VBA で フォルダ権限...
-
フォルダ内のPDFファイル名を変...
-
パス名に2バイト文字(マルチバ...
-
多量のファイルをフォルダに自...
-
Excelで指定したフォルダに保存...
-
会社のネットワーク上のファイ...
-
ディレクトリ名変更してコピー...
-
VBA フォルダ名に特定の文字を...
-
エクセルマクロで指定フォルダ...
-
保存先のフォルダ名を指定した...
-
あるフォルダの中にあるファイ...
-
ExcelのVBAでフォルダ指定がで...
-
エクセルのマクロについて教え...
-
Excel VBA で フォルダ名の一部...
おすすめ情報