Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


52408 / 76732 ←次へ | 前へ→

【29163】シートに記録されているマクロをブックに記録されているマクロとするには?
質問  Orangbagsar  - 05/9/27(火) 0:10 -

引用なし
パスワード
   シート1の2行目から11行目までのD列にチェックボックスを1〜10を配置し、各行のABC列にはテキストが入力されています。各チェックボックスをTrueにすると、その行のA〜C列の文字が赤字・取り消し線で表現されるよう、マクロが設定されています。このマクロはシート1のマクロとして記録されています。
シート1での作業が完了したら、シート1をコピーしてシート2とし、シート2に対して作業を行います。以降、シート3、4と作業を繰り返します。この時、シート1に記録されているマクロはシート2にもコピーされますが、シートが増えるに従って、ファイルがものすごく重たくなってしまいます。
マクロをブックに記録すればこの問題は解決すると推測していますが、シート1の作業が完了し、シート2が作成された後は、チェックボックスに設定されているマクロはシート1には働かないようにする必要があります。以降、シートが増えるに従って、マクロは直近の(ACTIVEな)シートのみに作用し、古いシートには作用しないようにするにはどのようにしたらよろしいでしょうか。

因みに、シートに記録されているチェックボックスのマクロは以下のとおりです。
(チェックボックス1の例。チェックボックス2以降は行が一つずつ繰り下がる)

Private Sub CheckBox1_Click()
  If CheckBox1 = True Then
    Range("A2:C2").Select
      With Selection.Font
        .FontStyle = "標準"
        .Size = 12
        .Strikethrough = True
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = 3
      End With
  Else
    Range("A2:C2").Select
      With Selection.Font
        .FontStyle = "標準"
        .Size = 12
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = 1
      End With
  End If
End Sub

解決方法をご教示いただけると幸甚です。

0 hits

【29163】シートに記録されているマクロをブックに記録されているマクロとするには? Orangbagsar 05/9/27(火) 0:10 質問
【29164】Re:シートに記録されているマクロをブック... ichinose 05/9/27(火) 7:44 発言
【29326】シートに記録されているマクロをブックに記... Orangbagsar 05/10/1(土) 0:22 お礼

52408 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free