- ベストアンサー
MS Excel2003のマクロについて
現在、エクセル2003のマクロを作成しています。 そこで、どうしても作成できないことが2点あります。 シート数は、60シート前後を予定しています シート名は、バラバラです。 1.アクティブシート(マクロのボタンがあるシート)以外の全シートの "C6:D36" をクリアしたい。 苦戦して作成すると、アクティブシートの"C6:D36"がクリアされ 使い物になりませんでした。 2.アクティブシート(マクロのボタンがあるシート)以外の全シートを印刷プレビューしたい。 どうしても、アクティブシートも含まれて印刷プレビューされてしまいました。 例題をあげて、回答いただきたいです。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ワタシならこんな具合に作成します: sub macro1() dim i as long for i = 1 to worksheets.count if i <> activesheet.index then worksheets(i).range("C6:D36").clearcontents end if next i end sub sub macro3() dim ix as long dim i as long ix = activesheet.index worksheets(iif(ix = 1, 2, 1)).select for i = 1 to worksheets.count if i <> ix then worksheets(i).select false end if next i activeworkbook.printpreview worksheets(ix).select end sub 「ボタン」て何使っているのか不明ですが,オートシェイプでボタン絵柄を作成し,右クリックしてマクロの登録で上述マクロを登録します マクロを登録したボタン絵柄をコピーし,各シートに貼り付けて置いておきます。
その他の回答 (1)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 一例です。 コマンドボタンがあるSheet名を仮に「あああ」とします。 コマンドボタン1がC6:D36をクリアにするボタン コマンドボタン2が印刷プレビューを表示するボタンとすると・・・ (1)の場合 Private Sub CommandButton1_Click() Dim i As Long For i = 1 To Worksheets.Count If Worksheets(i).Name <> "あああ" Then '←「あああ」は実際のSheet名に! Worksheets(i).Range("C6:D36").ClearContents End If Next i End Sub (2)の場合 Private Sub CommandButton2_Click() Dim i As Long For i = 1 To Worksheets.Count If Worksheets(i).Name <> "あああ" Then Worksheets(i).PrintPreview End If Next i End Sub ※ 全Sheetの印刷プレビューの方が希望通りかどうか判りません。 こんな感じではどうでしょうか?m(_ _)m
お礼
回答ありがとうございました。 お陰さまで、解決できました(*^_^*)
お礼
見事!! やりたいことがキチンと出来ました。 出来た途端 拍手をしてしまいました。 本当にありがとうございます。 感謝、感謝です(^^♪