No.3
- 回答日時:
>セルA1が変わるとイベントマクロが発生しますが
>セルB1が変わると別のマクロが発生し
>セルC1が変わるとまた別のマクロが発生し
同じ1つのChngeイベントで受けて
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
Case "$A$1"
MsgBox "A処理実行"
Case "$B$1"
MsgBox "B処理実行"
Case "$C$1"
MsgBox "C処理実行 "
End Select
End Sub
のようにセルのアドレスで区別すればよいのでは。
InterceptやCase文を使わず、
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
MsgBox "A処理実行"
ElseIf Target.Address = "$B$1" Then
MsgBox "B処理実行 "
Else
MsgBox "C処理実行 "
End If
End Sub
でもできる。(コード表現だけの問題だが)
それでは困るケースがありますか。
No.2
- 回答日時:
例えば、こんな感じで如何ですか。
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
MsgBox "セル A1 が変更になりました。" ' <--- A1変更時の処理
End If
If Not Intersect(Target, Range("B1")) Is Nothing Then
MsgBox "セル B1 が変更になりました。" ' <--- B1変更時の処理
End If
If Not Intersect(Target, Range("C1")) Is Nothing Then
MsgBox "セル C1 が変更になりました。" ' <--- C1変更時の処理
End If
End Sub
> Select Case Target.Address
> Case "$A$1"
> A1のマクロ文
これ↑では、複数セル同時変更したとき、その中に該当セルがあっても機能しないと思いますが・・・
これでも良い仕様であれば別ですが・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Excel(エクセル) エクセルの自動更新のタイミングについて 1 2022/07/20 16:12
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Excel(エクセル) エクセルのイベントプロシージャーでF列の最終行のセルの入力をトリガーにしたいのですが 1 2022/10/14 09:36
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Excel(エクセル) Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて 2 2022/11/15 16:14
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
複数処理 Worksheet_Change(ByVal Target As Range)
Visual Basic(VBA)
-
Changeイベントでの複数セルのクリアの処理について
Visual Basic(VBA)
-
エクセルマクロPrivate Subを複数にする方法
Excel(エクセル)
-
-
4
エクセルvba (ByVal Target As Range)について
Excel(エクセル)
-
5
エクセルVBA シートモジュールにチェンジイベントを複数設定する方法を教えて下さい。 例えば、B列に
Visual Basic(VBA)
-
6
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
7
Private Sub Worksheet_Change が複数
Excel(エクセル)
-
8
特定セルの内容を更新したら、その更新日を自動的に表示する方法について
Excel(エクセル)
-
9
Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる
Visual Basic(VBA)
-
10
targetをA列のセルに限定するには?
Visual Basic(VBA)
-
11
worksheet_changeがループする
PowerPoint(パワーポイント)
-
12
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
13
エクセルでエラーが出て困っています。
Excel(エクセル)
-
14
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
15
他のシートの特定のセルが変わると、自動実行されるマクロについて
Excel(エクセル)
-
16
EXCEL VBA 複数のシートに同じイベントプロシジャを書く場合
Excel(エクセル)
-
17
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
18
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
19
VBA:結合されたセルに対する「Target」について
Access(アクセス)
-
20
Worksheet_Change(ByVal Target As Range)の下に複数範囲
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レポート印刷するときに...
-
Accessのクエリで、replace関数...
-
実行時エラー3131 FROM 句の構...
-
Access で半角スペースと全角ス...
-
Access Error3061 パラメータが...
-
Accessのスプレッドシートエク...
-
Accessレポートのチェックボッ...
-
Access VBA を利用して、フォル...
-
Microsoft365にAccessってあり...
-
Vba Userformを前面に出すについて
-
アクセスのレコードをフォーム...
-
access2019 チェックボックスと...
-
Access 複数条件検索の設定が上...
-
Access 登録ボタンからサブフォ...
-
Access VBA [リモートサーバー...
-
Accessのフォーム上のテキスト...
-
アクセスで教えてください。 レ...
-
アクセス レポートを開いたとき...
-
Access IF文でテーブルに存在し...
-
アクセス where句を使用して複...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access レポート印刷するときに...
-
Microsoft365にAccessってあり...
-
Accessのクエリで、replace関数...
-
access2021 強制終了してしまう
-
実行時エラー3131 FROM 句の構...
-
Vba Userformを前面に出すについて
-
【Access】Dcount関数の複数条...
-
Accessのスプレッドシートエク...
-
ACCESS VBA でのエラー解決の根...
-
Access runtimeでのオプション...
-
Access VBA [リモートサーバー...
-
Accessが強制終了する理由はな...
-
accessデータを指定したExcel、...
-
Accessレポートのチェックボッ...
-
Access IF文でテーブルに存在し...
-
access2019の起動が遅い
-
access2021 更新前に処理をしたい
-
Accessのクエリの結果を、既存...
-
チェックボックスにチェックが...
-
Access で半角スペースと全角ス...
おすすめ情報