[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロで再計算の実行 <チェックボックスとの連動>』(はむ太朗)
お世話になっております。
現在作成中のファイルは、数式が沢山組込んである為、自動計算だとセル入力等の都度、
再計算が働き、ファイル自体の動きが悪くなので、
ファイル自体を「手動」計算に切替えました。
それで、ファイルの動きはよくなったのですが、
ActiveコントロールのチェックBOXにチェック(レ)を付けると、
そのリンクセル(True or False)の結果により、
IF関数で求めていた計算式(B列)まで動かなくなり、
色々調べて、「シート内のセルの変更があれば指定範囲について
再計算を働かせることができる」というマクロを組んでみたのですが、
どうもチェックBOXとの連携(B列がチェックBOXのチェックの付け・外しによって変動)をしてくれません。
■Excelのイメージ
・「手動」計算の状態
A B C D
1 チェックBOX IF関数列 (空白列) C-RINK
4 □ バナナ FALSE
5 □ バナナ FALSE
6 □ バナナ FALSE
7 □ バナナ FALSE
8 □ バナナ FALSE
9 □ バナナ FALSE
10 □ バナナ FALSE
11
・B列のIF関数例
=IF(D2=TRUE,"リンゴ","バナナ")
・試したマクロ
Private Sub Worksheet_Change(ByVal Target As Range)
Range("B2:B10").Calculate
End Sub
↑これを入力した後、
A列のチェックBOXにチェックを付けても、B列は無反応状態です。
D列はTrueに切り替わります。でも、B列は無反応状態です。
D列のセルの内容が変更したことによってB列も変動すると思ってたのですが・・・。
しかし、関係ないセルに文字を入力すると、急にB列(B2:B12)が再計算します。
正しい構文をご教示頂けないでしょうか。よろしくお願いします。
マクロは、初心者レベルです。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
はい。チェックボックスに限らず、シート上のコントロールの LinkedCell の変化は シートのChangeイベントの対象外です。 (計算式による値の変化も、対象外になりますけど、同じようなものです)
この変化をキャッチする方法は
1.もし、このチェックボックスが ActiveX なら シートモジュールの CheckBox1_Click 等で対応します。 2.もし、このチェックボックスが フォームツールのコントロールなら 標準モジュールにマクロを書いて このチェックボックスに、そのマクロを登録します。
(β) 2017/02/08(水) 14:12
ありがとうございました。
(はむ太朗) 2017/02/08(水) 15:41
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.