- 締切済み
エクセル 複数ファイルの一括セル入力
同じフォーマットを用いた複数のエクセルファイル(約200~3000)の編集作業で、 例えば、全てのファイルについて A1のセルに同じテキスト、数式、または関数を一括で入力する方法を探しています。 マクロを使えばできることなのだということは解りましたが、 マクロ初心者なので自分で作ることまではいたることができませんでした。 もしこの一連の作業のマクロ、もしくはフリーウェアなどご存知でしたら ご教授いただけますと幸いです。 宜しくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- argument
- ベストアンサー率63% (21/33)
おっと、c:では引数が足りませんでしたc:\にします 以下が動くでしょう。 c:\に直下にある存在する全てのxlsファイルのA1セルに「同じテキスト、数式、または関数」を入力する。 Sub test() For Each fl In CreateObject("Scripting.FileSystemObject").GetFolder("C:\").Files If Right(fl.Name, 4) = ".xls" Then Workbooks.Open Filename:="c:\" & fl.Name: Range("A1").Value = "同じテキスト、数式、または関数": ActiveWorkbook.Save: ActiveWindow.Close Next End Sub
- argument
- ベストアンサー率63% (21/33)
こんにちわ petiska-jp さん 別に1番さんも私も作らないとは言っていません。条件を詳しく述べてくださいと言っているだけです。 質問するのはかまいませんし仮に削除対象の丸投げ作成依頼でさえ大体私は答えるでしょう。 ですが条件が分からないのに作成することなどできません。 明確な条件と結果によって初めて処理を回答できるのです。 では大至急と言うので貴方のために大変苦心しました。subを含めて五行にも及ぶ大作です。 以下を回答として提示します。標準モジュールに貼り付けてください。 Sub test() For Each fl In CreateObject("Scripting.FileSystemObject").GetFolder("C:").Files If Right(fl.Name, 4) = ".xls" Then Workbooks.Open Filename:="c:\" & fl.Name: Range("A1").Value = "同じテキスト、数式、または関数": ActiveWorkbook.Save: ActiveWindow.Close Next End Sub どうですか実行してみましたか?上記ではC:\にあるxlsファイル、つまりエクセルファイルを全て開きA1に「同じテキスト、数式、または関数」を書き込み上書き保存し閉じます。 貴方の現在述べた条件は全てクリアしました。200あろうが10000あろうが全てA1セルに書き込む処理をやってくれることでしょう。 はい、問題解決ですね? 追加処理・処理違い・補足等あればいってください。
- argument
- ベストアンサー率63% (21/33)
はじめまして petiska-jp さん フリーソフトといってもVBAで簡単にできるこの程度の処理がわざわざフリーソフトになっている気がしません。 貴方が作るとしても少なからずマクロの自動登録でファイルを開く閉じるを登録後、for処理で200件回す位です。 そして作ってる最中どうにもうまくいかないのなら途中までできたソースを出し、条件をより細かく提示すれば回答できるでしょう。
- n-jun
- ベストアンサー率33% (959/2873)
>同じフォーマットを用いた複数のエクセルファイル(約200~3000) ファイル数が固定でないのは増えるという事? それとも編集するファイルには条件があると言う事? って疑問がありました。
補足
> 編集するファイルには条件があると言う事 ということです。それぞれの条件で編集するファイルが 200個のものもあれば3000個程度のものまであるという意味です。 いちど編集処理すれば、それ以降ファイルの数の増減はありません。 宜しくお願いいたします。
補足
> マクロの自動登録でファイルを開く閉じるを登録後、 > for処理で200件回す位です。 自動登録はなんとなくわかるのですが、 for処理というのがまだきちんと理解できていません。 その程度の超超初心者です。 時間をかけて勉強できればよいのですが、 急を要しています。 不勉強で恐れ入りますが、 ご教授のほどお願いいたします。