VBA-Beispiel 001
mail schreiben
mail schreiben

Wie kann ich ein Makro starten

bezogen auf eine Zelle
Ändert sich der Wert in Zelle B5, wird eine MsgBox angezeigt:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  If Target.Address = "$B$5" Then MsgBox _
  "Der Wert in Zelle B5 hat sich verändert!"
End Sub
Start verknüpft mit Bedingung:
Meldung erscheint wenn der Wert in D19 größer 100 ist
Private Sub Worksheet_Calculate()
  If Range("D19").Value > 100 Then MsgBox _
  "Der Wert in Zelle D19 ist größer 100"
End Sub
Änderung in Zeilen
ändert sich ein Wert in Zeile 5 oder 7 erscheint eine MsgBox
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
   If Target.Row = 5 Then MsgBox "Ein Wert in Zeile 5 oder 7" _
     & "hat sich geändert"
   If Target.Row = 7 Then MsgBox "Ein Wert in Zeile 5 oder 7" _
     & "hat sich geändert"
End Sub
Änderung in Spalte
Meldung erscheint nur wenn sich ein Wert in Spalte B verändert hat
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  If Target.Column = 2 Then MsgBox _
  "Ein Wert in Spalte B hat sich geändert !!!"
End Sub
Makrostart durch Klick auf Zelle
das erste Makro startet wenn Zelle B29 angeklickt wird und ruft das zweite Makro (happy) auf:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Address = "$B$29" Then Call happy
End Sub

Sub happy()
  MsgBox "Sie haben die Zelle B29 aktiviert !!!"
End Sub
Die Zip-Datei enthält weitere Beispiele:

Makro nach 5 Sekunden (einmalig) starten
Makro alle 10 Sekunden aufrufen
immer zur vollen Stunde starten
Makro mit einer Formel starten

Download:   vba001.zip