- ベストアンサー
1フォルダに「A.xls」、「B.xls」、「C.xls」・・・とある
1フォルダに「A.xls」、「B.xls」、「C.xls」・・・とある場合、 すべてのファイルに一斉にA1セルに「a」という文字を反映させる場合の VBAプログラムを教えていただけますでしょうか? よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
フォルダ名を変更してから試してね 4行目の mPath = "C:\tmp\" 「aaa」なら mPath = "C:\aaa\" に変更 Sub test() Dim mPath As String Dim nf As String mPath = "C:\tmp\" nf = Dir(mPath & ".xls") Do While nf <> "" Workbooks.Open Filename:=mPath & nf Workbooks(nf).ActiveSheet.Range("a1").Value = "a" Workbooks(nf).Close SaveChanges:=False nf = Dir() Loop End Sub 簡単なコードにしてあるので、分らない所はヘルプで調べてね 参考まで
その他の回答 (2)
- temtecomai2
- ベストアンサー率61% (656/1071)
いや、だから、その目的のうち、どこまでコードを書けるのかを訊ねています。 Excel のデーター ファイルを開いてセルに書き込むことはできるけど、複数ファイルを渡り歩く方法がわからないとか、フォルダー内の Excel ファイルを見つける方法がわからないとか。 はたまた何もかもわからないから全て教えてもらいたいとか。 フォルダー内のExcel ファイルの一覧が欲しいなら、FileSystemObject について調べればいいです。 目的のフォルダーを Folder オブジェクトで参照すれば、Files プロパティーでフォルダー内の全てのファイルを取得できます。 For Each でループさせながら拡張子を調べ、Excel の拡張子なら開いて書き込みして保存して閉じる。 これを繰り返す。
補足
ご回答、ありがとうございます。 全てわからない状態です。 ほぼほぼコードに近いものをいただければと期待して、 質問しております。虫がよすぎるのは承知の上で、 具体的にどんなコードイメージとなるかご教示 いただければ嬉しいです。
- temtecomai2
- ベストアンサー率61% (656/1071)
どこまでわかっていて、どこから分からないのかがわからないです。 フォルダーに A.xls しかない場合、A.xls の A1 セルに 「a」 という文字を反映させることはできるのですか?
補足
目的は、同一フォルダの複数ファイルに同じ処理を反映したいというものです。 たとえば、以下です。 (1)指示用画面.xlsのA1セルにaと入力してマクロを実行 (2)あるフォルダ内の全ファイル(A.xls、B.xls、C.xls・・・)の A1セルがaという値になる 漠然としてしまっておりますが、ご教示のほどよろしくお願いいたします。
お礼
助かりました。ご親切にどうもありがとうございました!