質問: 多量のファイルをフォルダに自動振り分けするマクロを教えて下さい。 多量のファイルをフォルダに自動振り分けするマクロを教えて下さい。 エクセルvbaで、一行の内容を1つのテキストファイルに出力して、 連続処理で複数行を一気に複数ファイルに生成しています。 そのマクロは以前質問して教えて頂いたマクロで、下記のアドレスから ご覧くださいませ。 http://oshiete.goo.ne.jp/qa/6201310.html ファイル生成のマクロは、回答no.2の方が教えてくれたマクロを採用し ています。(ベストアンサー) 生成するファイル名は4桁の数字なんですが、ファイル自動生成時に、 ファイル名が1000番代のファイルは、フォルダ名が1のフォルダに収め、 2000番代は2のフォルダへ・・といった具合に9000番代まで収めたいのです。 ファイルは生成できているので、 あとはフォルダの自動生成と 自動振り分けができるマクロを教えて頂けませんか? 宜しくお願い致します。
回答: >ファイルは生成できているので、 あとはフォルダの自動生成と >自動振り分けができるマクロを教えて頂けませんか? この手の質問に回答するのはかなり度胸が必要なのですよ。 間違ったコードや操作でパソコンの中をめちゃくちゃにしてしまう可能性もあるからです。 参考程度の回答を致します。 失敗の事を考えて2つのステップで操作します。 ステップ1 指定したフォルダ内のファイル名をエクセルのシートに一覧で表示させます。 ステップ2 表示されたファイル名を別のフォルダーにコピィする。 ステップ3 うまく出来たらフォルダ内のファイルを削除する。 それぞれがうまく出来るか確認の上。次のステップに進んでください。 ステップ1 b2セルに ファイルが入っているフォルダ名を入れておきます。 sub ボタン1_click() dim buf as string range("c3:d1000").clearcontents buf = dir(range("b2").value & "\" & "*.*") i = 3 do while buf <> "" range("c" & i).value = buf range("d" & i).value = left(range("c" & i).value,1) buf = dir() i = i + 1 loop end sub dirについてはweb調べると色々と説明がされています。 c3セル以下にファイル名の一覧 d3セル以下にはファイル名の最初の1文字がでます。 sub ボタン2_click() for i=3 to range("c65536").end(xlup).row filecopy range("b2").value & "\" & rnage("c" & i).value, range("d" & i).value & "\" & range("c" & i).value next end sub filecopy コピィ元のパスとファイル名,コピィ先のパスとファイル名 と指定して使います。 b2セルで指定したフォルダ(パス)で c列のファイル名を d列で指定したフォルダへ c列で指定したファイル名コピィします。 簡単なコードですので、ご自身で理解して使ってください。 お酒も履いてしまっているので スペルミスなどもあるかもしれません。 検証もしていていませんの保証もいたしません。 ご自身の責任で実行してください。