• ベストアンサー

MS Excel2003のマクロについて

現在、エクセル2003のマクロを作成しています。 そこで、どうしても作成できないことが2点あります。 シート数は、60シート前後を予定しています シート名は、バラバラです。 1.アクティブシート(マクロのボタンがあるシート)以外の全シートの "C6:D36" をクリアしたい。  苦戦して作成すると、アクティブシートの"C6:D36"がクリアされ  使い物になりませんでした。 2.アクティブシート(マクロのボタンがあるシート)以外の全シートを印刷プレビューしたい。  どうしても、アクティブシートも含まれて印刷プレビューされてしまいました。 例題をあげて、回答いただきたいです。 よろしくお願いいたします。 

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.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 「ボタン」て何使っているのか不明ですが,オートシェイプでボタン絵柄を作成し,右クリックしてマクロの登録で上述マクロを登録します マクロを登録したボタン絵柄をコピーし,各シートに貼り付けて置いておきます。

chau
質問者

お礼

見事!! やりたいことがキチンと出来ました。 出来た途端 拍手をしてしまいました。 本当にありがとうございます。 感謝、感謝です(^^♪

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 一例です。 コマンドボタンがある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

chau
質問者

お礼

回答ありがとうございました。 お陰さまで、解決できました(*^_^*)

関連するQ&A