[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBA:ブック内の全シートに同じ処理を行う』(の)
複数シートを持つブックがあります。各シートは、全く同じフォーマットの表です(シート毎に表内のデータは異なります)。しかしシートによって、オートフィルタで抽出結果を表示させた状態のもの、行・列の一部を非表示にしているものなどまちまちです。全シートに対して、以下の処理を全て行えるマクロが欲しいのですが、VBAでどう書くか教えていただけないでしょうか?よろしくお願いします。
・オートフィルタがかかっているところは、データを全て表示させる。 ・ウィンドウの分割を解除する。 ・非表示にしてある列や行を全て表示させる。 ・全ての文字を黒(自動)にする。
>・オートフィルタがかかっているところは、データを全て表示させる。 >・ウィンドウの分割を解除する。 >・非表示にしてある列や行を全て表示させる。 >・全ての文字を黒(自動)にする。 これをそれぞれでマクロの記録を行う。 次に、上からmacro1, macro2, macro3, macro4 とした場合
Sub sample() Call macro1() Call macro2() Call macro3() Call macro4() End Sub
これで、まずは試してみてください。
(1or8)
sub test() dim ws as worksheet for each ws in sheets with ws .autofiltermode=false .activate activewindow.splitcolumn=0 activewindow.splitrow=0 with .cells .entirerow.autofit .entirecolumn.autofit .font.colorindex=xlautomatic end with end with next end sub (ROUGE)
dim ws as worksheet, mystatus as integer, flg as boolean for each ws in sheets with ws if .protect then .unprotect : flg = true end if mystatus = .visible .visible = -1 .autofiltermode=false with .cells .font.colorindex = xlautomatic .entirerow.hidden = false .entirercolumn.hidden = false end with .activate activewindow.split=false .visible = mystatus if flg then .protect flg = false end with next (seiya)
1or8san, ROUGE-san $ seiya-san, 素早いReplyありがとうございました。 無事マクロを取り入れることができ、本当に助かりました。 VBAを殆ど知らないので、色々な設定(オートフィルタなど)がされていない シートに解除の命令をかけるとエラーになってしまうのかな、というところでまずつまずいていました。 (ワークシート上の操作では、設定がされていない場合は、メニュー内の解除ボタンが選択できないし)。 また何かありましたら質問させて頂きます。よろしくお願いします。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.