
いつもgooの皆さんに大変お世話になっております
マクロの勉強を初めて2ヶ月の者です
Private Sub Worksheet_Change(ByVal Target As Range)にマクロを書いているのですが
「特定のセル範囲が変更されたときに処理を実行する」は分かるのですが
特定のセル範囲が変更されなくても、例えば、セルの値がインストールされているアドインで
変化した時の処理はどこに書いたらいいのでしょうか?
今現在、H列のTarget.RowとJ列のTarget.Rowにはアドインで、機器の温度が表示されていますが
この2点の温度変化で
Application.Speech.Speak "温度接近", True
などどやりたいのですが、Private Sub Worksheet_Calculate()に書けばいいのでしょうか
その場合、Private Sub Worksheet_Change(ByVal Target As Range)内の
Target.Row等の値はどうやったらPrivate Sub Worksheet_Calculate()で使えますか?
それとも、もしかしたら標準モジュールに書くのでしょうか?
うまく説明できていませんが、どなたか教えてください
No.1ベストアンサー
- 回答日時:
こんばんは。
今回の質問は、ご質問者さんには、別のイベントというか、紹介しましたね。その中に含まれていたかもしれません。
今回の件は、マクロを勉強して2ヶ月の人の話ではなく、3年やっても、5年やっても知らない人は知らないことで、かなりハイレベルというか、古めかしいというか、ほとんど知られていない技術だと思います。こういう話は、1冊の本にもなっています。本来、計測メーカー側の専門業者に頼んでしまったほうが早い気もします。たぶん、彼らは、公表はしていませんが、それ専用のVBA用のマクロを持っているはずです。
>特定のセル範囲が変更されなくても、例えば、セルの値がインストールされているアドインで
>変化した時の処理はどこに書いたらいいのでしょうか?
ふつうは、どこでもよいので、
=Now()
という式を書いて、
Private Sub Worksheet_Calculate()
に、イベントを拾わせるわけです。
しかし、少し、工夫が必要で、時々、これが困った動きをします。
Calculate のイベントが、ワークブック全体に働いてしまい、どこのシートを使っても、Calculateイベントが動いてしまいます。この方針で話が本格的になった時に、この対処法は、あらためて紹介します。
>(Worksheet_Change)のTarget.Row等の値はどうやったらPrivate Sub Worksheet_Calculate()で使えますか?
単に、モジュール変数を使って橋渡しするのか、それとも、同時で働くということなら、 Worksheet_Calculateのイベントでなくてもよいはずです。どのように使うのか、こちらではわかりかねます。本来、別の働きをするものです。もちろん、キーで入力した際は、Worksheet_Calculateのイベントは、起動します。
>Application.Speech.Speak "温度接近", True
>などどやりたいのですが、Private Sub Worksheet_Calculate()に書けばいいのでしょうか
ActiveX コントロールで入ってきた値が、どのように加わっていくのかにもよりますが、セルの位置は、Worksheet_Changeイベントのようにセルの位置は感知しませんから、インプットの場所が動いていくのでしたら、マクロで最後尾を探さなくてはなりません。
>それとも、もしかしたら標準モジュールに書くのでしょうか?
同様のコマンドで、標準モジュールに書く方法もあります。とても古い方法で、オブジェクト・ウィンドウにも出てこないはずです。しかし、まだ、同様の働きはしますが、今は、シートモジュールが主流になっています。
いつもありがとうございます
お陰様でマクロがもうすぐ完成するのですが、かなり難しい話になってしまいました
過去の質問をもう一度みてみます
ありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
”戻り値”が変化したときに、マクロを実行したい
Visual Basic(VBA)
-
Calculateイベントでセルを指定したい
Word(ワード)
-
VBA Private Sub Worksheet_Calculate()
Access(アクセス)
-
-
4
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
5
他のシートの特定のセルが変わると、自動実行されるマクロについて
Excel(エクセル)
-
6
Worksheet.Change イベントを他のシートにも反映させる方法?
Visual Basic(VBA)
-
7
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
8
エクセル Worksheet_Calculate
Visual Basic(VBA)
-
9
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
10
エクセル マクロの実行について
Excel(エクセル)
-
11
エクセルvba (ByVal Target As Range)について
Excel(エクセル)
-
12
セルの値が変ると自動でマクロが実行される。
その他(Microsoft Office)
-
13
Excelのマクロ名の並び順の法則は?
Excel(エクセル)
-
14
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
15
エクセルVBA シートモジュールにチェンジイベントを複数設定する方法を教えて下さい。 例えば、B列に
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
血小板増加について
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
値が入っているときだけ計算結...
-
Excel 数値の前の「 ' 」を一括...
-
リンク先のファイルを開かなく...
-
VLOOKUP関数を使用時、検索する...
-
増減表のプラスマイナスの符号...
-
病院側から早く来てくださいと...
-
得意先負担の検査手数料の扱い
-
2つの数値のうち、数値が小さい...
-
彼女のことが好きすぎて彼女の...
-
エクセルで数式の答えを数値と...
-
小数点以下を繰り上げたものを...
-
腕を見たら黄色くなってる部分...
-
MIN関数で空白セルを無視したい...
-
勃起する時って痛いんですか? ...
-
【Excelで「正弦波」のグラフを...
-
EXCELで条件付き書式で空白セル...
-
ワードのページ番号をもっと下...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
値が入っているときだけ計算結...
-
彼女のことが好きすぎて彼女の...
-
尿検査前日に自慰行為した時の...
-
VLOOKUP関数を使用時、検索する...
-
Excel 数値の前の「 ' 」を一括...
-
精液の落とし方を教えてください
-
【Excelで「正弦波」のグラフを...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
精子に血が・・・
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
EXCELで条件付き書式で空白セル...
-
イタリアから帰国する際、肉製...
-
excelでsin二乗のやり方を教え...
-
腕を見たら黄色くなってる部分...
-
病院側から早く来てくださいと...
-
ワードのページ番号をもっと下...
おすすめ情報