- 締切済み
Excel マクロ 複数ブックの全てのシートに書式だけを自動処理で貼り付けたいのですが
始めての質問です、 ExcelのブックがC:\00\00フォルダに同じ形式で650ほどあります、その全てのブックに1から4のシートがあり、その全てに0.xlsファイルから条件付き書式をコピーして書式だけ全てのシートに貼り付けたいのですが、行き詰ってしまいました。 皆様のお答えや自動記録などをコピーして分らないなりに作って見ましたが、下のプログラムでは書式の貼り付けが上手くいかず困っています。 始めてのマクロなのでもうどうしたら良いのか分かりません、 なにが行けないのか、皆様どうかご教授ください。 Sub test() Windows("0.xls").Activate Sheets(Array("1")).Select Sheets("1", "2", "3", "4")).).Activate Range("A1:AA64").Select Selection.Copy For Each fl In CreateObject("Scripting.FileSystemObject").GetFolder("C:\00\00").Files If Right(fl.Name, 4) = ".xls" Then Workbooks.Open Filename:="C:\00\日報\" & fl.Name: Sheets(Array("1", "2", "3", "4")).Select: Range("A1").Value = "Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False": ActiveWorkbook.Save: ActiveWindow.Close Next End Sub OSはXPSP2でExcel2003を使っています、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
質問でやりたいことが、整理されてない。 (1)コピー元のシートは1つか、例えばSheet1-Sheet4までの4つの範囲の書式か。 (2)コピー元4シートをコピーするコードと (3)コピー先である、フォルダの中のエクセルブックを捉えるコードと(VBSを使うことForEachを使う。Dir関数でも出来てそのほうが易しいと思うが) (4)捕まえた1つの「フォルダ内のエクセルブック」の全シートにに書式を貼り付けていくコード これらを分けてテストすべきだ。 >書式の貼り付けが上手くいかず困っています。 書式だけの問題ではなかろう。最後まで動いているのか。 まず上記の段階を踏んで、3ブックぐらいでテストしてみるもんだ。 初心者は特にそうだ。 (2)の段階で質問のコードは動きますか。
- van111
- ベストアンサー率14% (1/7)
少し話しがわかりにくいです。 確認ですが、 フォルダ内に650のEXCELブックがあり、それらすべてに 0.XLSの条件付書式の書式を貼り付けるということですか?
お礼
van111さん遅くなりすみません、早速ありがとうございます。 お礼の順番が逆になってしまいました、申し訳ありません。 van111さんのおっしゃるとうりなのですが、for処理というものを使わないといけないようなので、もう一度修行してきます、ありがとうございました。
お礼
imogasiさん遅くなりすみません、早速の回答ありがとうございます。 纏まりが無く申し訳ないです。 いろいろ調べたところ条件付書式はこのコードでは無理なようです、 回答して頂きとてもありがたく思います、ご指摘のVBS、ForEach、Dir関数あたりを再度勉強して出直してまいります。(出直さずうまく動いた方がいいですね) なにぶん初心者ですので、失礼したことお詫びします。