No.3ベストアンサー
- 回答日時:
>Changeイベントの対象となるセルには
セル範囲を限定は出来ますが、(思っている範囲の範囲外のセルだと起こったイベントを使わないことは出来る)
(1)特定のイベントモジュールを入れた1つのシートのどこでも全セル
(2)またはどのシートのどのセルでも
Private Sub Workbook_SheetChange(ByVal Sh A・・の場合
の変化のときに発動されるはずです。
(1)の場合、他シートのセルの値をVLOOKUP関数で(第1引数の限ると思うが)使っている場合はそちらが変わっても反応しないでしょう。
>Changeイベントはセルの中の数式が変化しないと実行されないのでしょうか
数式が変化するという表現はおかしいと思う。数は当然として
式を変化させるとはどういう場合か疑問。
変化反応のパターンを調べると
ーー直接キーボードでセルへ値入力
当然反応
---関数間接的・値変化
Sheet1のイベントに
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox "Change"
End Sub
を入れておく。
ーー
Sheet1に=Sheet2!A10 と入れる。式を入れたことで反応はする。
参照セルの値を変化させると
Sheet2のA10を23に入力する。
上記メッセージは反応しない。
ーーVBAで
標準モジュールに
Sub test02()
Worksheets("Sheet1").Range("A11") = 12
End Sub
これを実行。するとMsgboxで"Change"と出る。
ーーーコピー張り付け
コピー張り付けもMsgboxで"Change"と出る。
式の複写も同じ。
ーーーDELETEキー
DeLETEキーも出る。
ーーー式入力=>値も変わるといえるが。
式をセルに入れても反応する。
ーー書式変化
当然ですが、書式を変えても反応しない。
質問を考える場合、以上のどれか参考になれば。
>数式が変化するという表現はおかしいと思う。
ご指摘ありがとうございます。解りづらい表現で申し訳ありません。私が言いたかったのは、数式の結果の値だけが変化して、数式自体がそのままならChangeイベントは実行されないかということでした。
変化反応のパターンを沢山教えて頂いて、とても参考になります。この中では関数間接的・値変化にあたるようです。結果、実行されないということですね。他の方法を考えてみます。ありがとうございました。
No.2
- 回答日時:
こんにちは。
>Changeイベントはセルの中の数式が変化しないと実行されないのでしょうか?数式の結果が変わっただけでは実行しませんか?教えて下さい。
それは可能だけれども、それは、あまり一般的な内容ではありませんね。
前のコードを追求すればよかったのかもしれませんが、仕方がなかったかもしれませんね。ただ、一応、自分の思惑とは違ったら、主張はしたほうがよいと思います。質問とコードの内容が違うかもしれませんからね。
単にこういうことだと思います。
D6 が、値を代入するセル
仮に B1に、こんなVLOOKUP の数式があるとします。
=IF(COUNTIF(SheetX!B:B,D6)=0,"",VLOOKUP(D6,SheetX!B:E,4, FALSE))
Sheet2のA1に、値をコピーする。
そうしたら、こんなマクロになるはずだったと思います。
-------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$D$6" Then Exit Sub
If Range("B1").Value <> "" Then
Worksheets("Sheet2").Range("A1").Value = Range("B1").Value
End If
End Sub
ご回答ありがとうございます。
>前のコードを追求すればよかった
少し私には難しい内容で、あまり理解できませんでした、すみません。。ありがとうございました。
No.1
- 回答日時:
> 数式の結果が変わっただけでは実行しませんか?
はい、Changeイベントはあくまでセルの入力内容がかわらないと実行されません。
しかし、vlookup関数を働かすのですから、何か検索値を入力するのですよね?だったらその検索値を入力するセルをChangeイベントの対象に指定すればいいのではないですか?
ご回答ありがとうございます。やはり実行されないのですね。検索値はもともと入力されていて、リンクの更新をして値が変化した時だけ実行できるようにと考えたので難しくなってしまいました。他の方法を考えてみます。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Application.InputBoxの表示形式 2 2022/08/09 22:32
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) エクセルの自動更新のタイミングについて 1 2022/07/20 16:12
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Excel(エクセル) 指定値をマクロで検索&シート移動 2 2022/04/27 23:29
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2022/10/12 12:55
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel分数の表示について
-
Excelについての質問です。 B2...
-
EXCELの散布図で日付が1900年に...
-
文字2桁、3桁交じりの文字列...
-
【EXCEL】画像の黄色部分の抽出...
-
マクロエクセルのブロック解除
-
絶対参照
-
Excelで表を作ったところに文字...
-
Excelピボットテーブルの1行目
-
エクセルのクイックアクセスツ...
-
DATE関数で現在の年齢を出した...
-
(マクロ)vlookupの元データを同...
-
PDFの請求明細をエクセルにしたい
-
エクセルのクイックアクセスツ...
-
REGEXREPLACE関数について、
-
職場の人から聞かれており、こ...
-
エクセルの空欄をつめて、次の...
-
ユーザー定義関数をアドイン登...
-
EXCELの質問です 119から足した...
-
エクセルの問題です。絶対値の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報