私はその値が毎分更新されるExcelセルを持っています。時間枠内で値が変更されたときに警告するVBA機能
警告メッセージボックスが必要です。そのセル値は特定の時間に移動します。
それは1分で7に達したならば、私はそれを警告するメッセージボックスが必要になります。
は、セルの値が10を持っていると仮定します。
1分で7に達していない場合は、アラートは必要ありません。
私のためにこのためのマクロを書くのを助けてください。ワークブックを開くとき
私はその値が毎分更新されるExcelセルを持っています。時間枠内で値が変更されたときに警告するVBA機能
警告メッセージボックスが必要です。そのセル値は特定の時間に移動します。
それは1分で7に達したならば、私はそれを警告するメッセージボックスが必要になります。
は、セルの値が10を持っていると仮定します。
1分で7に達していない場合は、アラートは必要ありません。
私のためにこのためのマクロを書くのを助けてください。ワークブックを開くとき
はThisWorkbookのための内部VBAエディタ、次のコード
Dim WithEvents SheetToWatch As Worksheet
Private Sub SheetToWatch_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then
If Target.Value = 7 Then
MsgBox "changed to 7"
End If
End If
End Sub
Private Sub Workbook_Open()
Set SheetToWatch = Sheets("Sheet1")
End Sub
を書くことができ、基本的にコードは、変数SheetToWatch
へのSheet1の参照を設定します。 WithEvents
を使用して変数を宣言すると、イベントをキャプチャできます。
私はChange
イベントを使用しており、変更されたセルがA2かどうかを確認しています。もしそうなら、私は値をチェックしたり、値を7と比較しています(ダイナミックで、扱い方によって異なります)。
これが役立つかどうかを確認してください。
SheetActivateは、シートがフォーカスを取得したときに起動し、データが変更されたときには起動しません。 – RBarryYoung
@RBarryYoung:そうです。その余分なコードを誤って追加しました。私は今それを編集します。ありがとう!! – shahkalpesh
私が考えることができる方法では、関数ではできません。
セルを更新するメカニズムを制御する場合は、書き込んだVBAサブルーチンを呼び出すことができます。代わりに、警告を送信してからそのルーチンからセルを更新する必要があります。
更新メカニズムを制御していない場合、動作する可能性があると思うのは、Cell、Range、またはWorksheetクラスのVBAからキャッチしてそこから警告を受け取ることができるChangedDateイベントです。
これは既にわかっていますが、このExcelドキュメントがAccessデータベースになる可能性があります。 – Smandoli