
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
複数処理 Worksheet_Change(ByVal Target As Range)
Visual Basic(VBA)
-
Changeイベントでの複数セルのクリアの処理について
Visual Basic(VBA)
-
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
4
エクセルマクロPrivate Subを複数にする方法
Excel(エクセル)
-
5
Private Sub Worksheet_Change が複数
Excel(エクセル)
-
6
EXCEL あるセルに数字が入力されれば既存マクロ実行させたい
Excel(エクセル)
-
7
Worksheet_Change(ByVal Target As Range)の下に複数範囲
Excel(エクセル)
-
8
エクセルvba (ByVal Target As Range)について
Excel(エクセル)
-
9
worksheet_changeがループする
PowerPoint(パワーポイント)
-
10
Worksheet_Change(ByVal Target As Range)の複数の条件
Visual Basic(VBA)
-
11
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
12
値を入力後、自動的にアクティブセルが移動するマクロ
Excel(エクセル)
-
13
他のシートの特定のセルが変わると、自動実行されるマクロについて
Excel(エクセル)
-
14
VBA CHANGEイベントに複数イベントを
Visual Basic(VBA)
-
15
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
16
エクセルVBA シートモジュールにチェンジイベントを複数設定する方法を教えて下さい。 例えば、B列に
Visual Basic(VBA)
-
17
Excel マクロ VBA プロシージャが大きすぎます のエラー対処方法
Visual Basic(VBA)
-
18
Excel VBA イベントプロシージャを2つ記述する(基本です)
Excel(エクセル)
-
19
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
20
同じシート内にイベントプロシージャが二つある時
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
このカテゴリの人気Q&Aランキング
-
4
エクセルのマクロについて教え...
-
5
VLOOKUP関数を使用時、検索する...
-
6
ダウンロードしたファイルが開...
-
7
CSVファイルの「0落ち」にVBA
-
8
テキストボックス内の文字のふ...
-
9
IF関数で、時間を条件にしたい...
-
10
パラメーターが不正
-
11
エクセルで色の変更を他のシー...
-
12
COUNT関数で0.5カウントはでき...
-
13
エクセルで新暦の日付から、旧...
-
14
DVD-R(データ用)へ音楽データ...
-
15
アクセスVBAのMe!と[ ]
-
16
かぎ かっこ(「 」)のキーが...
-
17
エクセルで年月日から月日のみへ
-
18
文字の色も参照 VLOOKUP
-
19
アクセス エラーを数値「0」に...
-
20
エクセルVBAでパスの¥マークに...
おすすめ情報
公式facebook
公式twitter