![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
シート名「昇降機【青紙】(裏面)」に
下記のコードを設定しております。
このコードは
各セル("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 SelStart、SelLen教えてください教えてください
Visual Basic(VBA)
-
7
VBA一覧取得 再投稿
Visual Basic(VBA)
-
8
VBA指定行削除
Visual Basic(VBA)
-
9
VBの色を変えるにはどうしたらいいですか?
Visual Basic(VBA)
-
10
Excel 範囲指定スクショについて Excelで範囲指定してスクリーンショットする機能がありますが
Visual Basic(VBA)
-
11
VBA listBoxから
Visual Basic(VBA)
-
12
プログラミング
Visual Basic(VBA)
-
13
VBAに詳しい方教えてください。
Visual Basic(VBA)
-
14
現在のブックを閉じないで、マクロ抜きの(現在のブックの)コピーを作成したい
Visual Basic(VBA)
-
15
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
16
vba アクティブシートの名前変更について教えてください
Visual Basic(VBA)
-
17
エクセルVBAコードで教えて下さい!
Visual Basic(VBA)
-
18
VB.netのADOってなんですか?
Visual Basic(VBA)
-
19
Excel-VBAのmsgBox()の不思議
Visual Basic(VBA)
-
20
WORD VBA プログラム修正をお願いします。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのマクロについて教え...
-
ExcelVBA修正のお願い
-
エクセルのマクロについて教え...
-
エクセルのVBAコードについて教...
-
エクセルのVBAコードについて教...
-
エクセルのマクロについて教え...
-
[vb.net] 起動したFrom2を閉じ...
-
エクセルのマクロについて教え...
-
[VB.net] ボタン(Flat)のEnable...
-
エクセルのマクロについて教え...
-
VBAコードについて教えてくださ...
-
VBA 別ブックからコピペしたい...
-
エクセルのマクロについて教え...
-
【ExcelVBA】インデックスが有...
-
Outlookの「受信日時」「件名」...
-
VBAでCOPYを繰り返すと、処理が...
-
コードを直していただきたいで...
-
Excel(M365) Vlookup/セル反転(...
-
Vba SelStart、SelLen教えてく...
-
Excel VBA 定義されたプロージ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAなくなるの?
-
VBAでCOPYを繰り返すと、処理が...
-
vba 削除
-
プログラミング
-
Excelのマクロについて教えてく...
-
Excelのマクロについて教えてく...
-
エクセルのVBAコードについて教...
-
久しぶりのプログラミング
-
ユーザーフォームに別シートか...
-
エクセルVBAコードで教えて下さ...
-
VBA 別ブックからコピペしたい...
-
ExcelのVBAコードについて教え...
-
VBAコードについて教えてくださ...
-
vba アクティブシートの名前変...
-
Excelのマクロについて教えてく...
-
エクセルVBA
-
Geogebraの操作方法について
-
マクロの記録を使用したマクロ...
-
Excel(M365) Vlookup/セル反転(...
-
Excel 範囲指定スクショについ...
おすすめ情報