引用:
【疑問1】行数がたとえ1000行になっても速度は遅くならないのか?
速い遅いは判断基準に依ります。ご自身で確認されたらどうですか?
プロシージャの最初で Timerの値を変数に保持、終了した時点のTimerとの差が実行時間です。
引用:
【疑問2】VBA言語を使わなくても、エクセルの条件付き書式を使ったほうがファイルは軽いのか?
一般的に、ワークシートに備わっているネイティブな機能はできるだけ使ったほうがよいと思われます。実行効率も高いはずです。
この場合の判定は、 = A2 + B2 <= NOW()-1 ということになるでしょう。(値の空白条件は除いています)
ただし、NOW()という揮発性関数を使うことにより、変更されたセルの位置にかかわらず、再計算のつど 実行されることに注意が必要です。影響度合いは確認してください。
引用:
【疑問3】仮にエクセルの条件付き書式に書き込めたとしても、行いたい作業(Test)は、
ファイルを開いた時に1回するだけであり、定期的(1時間ごと)に確認するには
その都度ファイルを開き直さないといけないということか?
(もしそれであれば今回のようにマクロを使ったほうが使いやすいのかな・・)
開いたときに自動実行されるわけではないと思いますが。
比較する相手を特定セルとする内容( = A2 + B2 <= $G$1 - 1 )の条件付き書式を使うことにして、マクロでG1セルをNOW()の値に更新すればいいでしょう。(開き直す必要はありませんね。)
それこそボタンに登録してポチが実際的でしょう。
また、Application.OnTimeメソッドを使って、そのマクロを定期的に繰り返すこともできますが、
個人的にはオーバースペックな気がします。(必要性がこちらには不明なので)
(例えば、こちらのサイトの即効テクニック集に参考になりそうなコードがあります。必要ならトライしてみてください。
https://www.moug.net/tech/exvba/0130009.html
)
なお、そのマクロには条件を満たさないときの処理も必要な気がします。