シート名「昇降機【青紙】(裏面)」に
下記のコードを設定しております。
このコードは
各セル("A6, A12, A13")のごれか一つに「■」と表示された場合
他の2つのセルには何も表示されません。
各セル("A6, A12, A13")をプルダウンで選択し「■」を表示されると
このコードは上手く行くのですが、
例えば
セルA6に「=昇降機【青紙】チェックリスト!I27」の式で「■」を表示
同じく
セルA12に「=昇降機【青紙】チェックリスト!S27」の式で「■」を表示
セルA13に「=昇降機【青紙】チェックリスト!O27」の式で「■」を表示
されるように設定すると
コードが上手く行かず、
「=昇降機【青紙】チェックリスト!I27」
「=昇降機【青紙】チェックリスト!S27」
「=昇降機【青紙】チェックリスト!O27」
の「■」が全てのセルに表示されてしまします。
解決方法を教えてください。
現状のコード
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("A6, A12, A13")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
If Target.Value = "■" Then
Select Case Target.Address
Case "$A$6"
Range("A8").ClearContents
Range("A12").ClearContents
Range("A13").ClearContents
Range("A16").ClearContents
Range("A17").ClearContents
Case "$A$12"
Range("A6").ClearContents
Range("A8").ClearContents
Range("A13").ClearContents
Range("A16").ClearContents
Range("A17").ClearContents
Case "$A$13"
Range("A6").ClearContents
Range("A8").ClearContents
Range("A12").ClearContents
Range("A16").ClearContents
Range("A17").ClearContents
End Select
End If
End If
End Sub
以上です。
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
こんにちは
>解決方法を教えてください。
シートのChangeイベントで拾っているため、ご質問のような計算(セル参照)による値の変化は、Changeとは見做されないので実行されないのが原因です。
変化の元となっているセル(=チェックリスト!I27など)のChangeイベントを拾うようにすれば、同様の方法で計算可能になります。
もしも、プルダウン等の直接入力と混在する場合には、両方のシートのChangeイベントを監視する必要があるので、シートのイベントではなく、ThisWorkbookのイベントとして処理する方が、まとめて処理できるので扱いやすいでしょう。
計算の発生をとらえれば良いのであれば、当該シートのCalculateイベントを拾っても(参照等の)計算を感知することは可能です。
しかしながら、Taget変数のようにどのセルが変化したかを示す引数はないので、対象のセルが変わったのかどうかを直接知るすべはありません。
(どこかに控えを取っておくなどの工夫が必要になります)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 3 2024/03/22 08:43
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/06/10 11:06
- Visual Basic(VBA) 【再投稿】VBAのシフト表でバグが出て困っています 3 2022/09/24 08:29
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 09:25
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2024/03/18 17:57
- Visual Basic(VBA) ExcelのVBAでシフト表を作っていますが、バグが出て困っています 2 2022/09/13 11:33
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 3 2022/06/10 09:24
- Excel(エクセル) VBA Private Sub Worksheet_Changeで 1 2024/05/01 16:59
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBA 複数条件の分岐処理の上手な方法
Visual Basic(VBA)
-
エクセルVBAについて
Visual Basic(VBA)
-
VBAで大量のファイルをシート名ごとに転記やらいろいろしたい!
Visual Basic(VBA)
-
-
4
VBAなくなるの?
Visual Basic(VBA)
-
5
vba 削除
Visual Basic(VBA)
-
6
VBA一覧取得 再投稿
Visual Basic(VBA)
-
7
VBAに詳しい方教えてください。
Visual Basic(VBA)
-
8
VBA listBoxから
Visual Basic(VBA)
-
9
Vba SelStart、SelLen教えてください教えてください
Visual Basic(VBA)
-
10
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
11
VBA指定行削除
Visual Basic(VBA)
-
12
エクセルVBAコードで教えて下さい!
Visual Basic(VBA)
-
13
VBEを開くのにコマンド名が「Visual Basic」な理由はなぜ?
Visual Basic(VBA)
-
14
VB.netのADOってなんですか?
Visual Basic(VBA)
-
15
Excel-VBAのmsgBox()の不思議
Visual Basic(VBA)
-
16
VBAの計算で@が出てしまう件
Visual Basic(VBA)
-
17
Excel VBA 定義されたプロージャ名、関数名の取得
Visual Basic(VBA)
-
18
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
19
Vba 実数および実数タイプの変数について教えてください
Visual Basic(VBA)
-
20
現在のブックを閉じないで、マクロ抜きの(現在のブックの)コピーを作成したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel(M365) Vlookup/セル反転(...
-
VBの色を変えるにはどうしたら...
-
Excel 範囲指定スクショについ...
-
VBAコードについて教えてくださ...
-
【ExcelVBA】インデックスが有...
-
Excelのマクロについて教えてく...
-
Excelのマクロについて教えてく...
-
VBA 別ブックから条件に合うも...
-
Outlookにて既にウィドウ単体で...
-
エクセルVBAコードで教えて下さ...
-
VBA ユーザーフォーム ボタンク...
-
vba アクティブシートの名前変...
-
VBAなくなるの?
-
VBAの計算で@が出てしまう件
-
VBA 複数条件の分岐処理の上手...
-
VB.net(VB)で、フォームにExcel...
-
Excelのマクロでワードのテキス...
-
Outlookの「受信日時」「件名」...
-
プログラミング
-
VBAの質問になります 行の非表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで大量のファイルをシート名...
-
VBA レジストリの値の読み方に...
-
Excelのマクロについて教えてく...
-
ユーザーフォームに別シートか...
-
VBAの計算で@が出てしまう件
-
エクセルVBAについて
-
Vba 実数および実数タイプの変...
-
【ExcelVBA】値を変更しながら...
-
VBA一覧取得 再投稿
-
VBA指定行削除
-
エクセルVBAについて
-
VBA ユーザーフォーム ボタンク...
-
VBA 何かしら文字が入っていたら
-
エクセルについて
-
2つのマクロでチェックボックス...
-
【マクロ】1つのマクロの中に...
-
ExcelのVBAコードについて教え...
-
VB.net(VB)で、フォームにExcel...
-
Vba SelStart、SelLen教えてく...
-
Excel-VBAのmsgBox()の不思議
おすすめ情報