2017-02-06 5 views
-3

Ich möchte ein Makro erstellen, das im Hintergrund weiterläuft, während ich am Excel-Blatt arbeite.VBA Excel - Wenn ein bestimmter Wert in der Spalte meinen Kriterien entspricht, dann zeige eine Nachricht

Funktion: Wenn eine bestimmte Zelle in einer ganzen Spalte = Now() dann ein Meldungsfeld anzeigen.

Kann jemand bitte den Code dafür teilen?

+1

was haben Sie versucht, so weit? Du meinst 'Now()' wie in der Formel? oder Zellwert Zeitwert ist gleich jetzt? Wie auch immer, lesen Sie das Ereignis 'Worksheet_Change' ein und verwenden Sie' Target.Column', um zu sehen, ob die geänderte Zelle in eine bestimmte Spalte fällt. –

+3

[Bitte lesen Sie, wie Sie eine Frage stellen können] (http://stackoverflow.com/help/how -zu-fragen) –

+0

Sie möchten nicht, dass ständig eine Funktion läuft. Erforschen Sie die Worksheet_Change-Funktion, die sich in diesem Arbeitsblattmodul befindet. Dann würde die Funktion nur ausgeführt werden, wenn eine Änderung an diesem Arbeitsblatt auftritt. Sie können die Spalte oder Zelle fangen, für die Sie Code schreiben möchten. –

Antwort

0

Setzen Sie dieses in Ihrem Arbeitsblatt Modul

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
' for a certain column - in this case G 
    Dim Arr 
     Arr = Split(Target.Address, "$") 
     If Arr(1) = "G" Then 
      Beep 
      MsgBox "You have selected column G..." 
     End If 

' for a certain row - in this case 2 
    If Right(Target.Address, 2) = "$2" Then 
     Beep 
     MsgBox "You have selected Row 2..." 
    End If 

' for a certain cell - in this case A3 
    If Target.Address = "$A$3" Then 
     Beep 
     MsgBox "You have selected Cell A3..." 
    End If 


End Sub 
Verwandte Themen