|  
                                             Hallo Bernd und Community 
Mit Kommentare hast du den Überblick der Programmierung verloren! 
Besser so! 
VBA in Excel Namenskonventionen! 
https://de.wikibooks.org/wiki/VBA_in_Excel/_Namenskonventionen 
Weitere definierte Variablen eindeutig benennen! 
  
Varianten des Worksheet_Change Ereignisses! 
  
Ohne Ereiggnissausschaltung da kein Cellinhalt verändert wird! 
Private Sub Worksheet_Change(ByVal Target As Range) 
 If Not Intersect(Target, Range("A1")) Is Nothing Then 
  MsgBox Target.Text 
 End If 
End Sub 
  
Mit Ereiggnissausschaltung da das aufrufende Makro Cellinhalte verändert 
anderenfalls entsteht ein Circlebezug der das Ereigniss erneut aufruft! 
Dem aufrufenden Makro wird die Addresse der veränderten Zelle übergeben 
 
Private Sub Worksheet_Change(ByVal Target As Range) 
 Application.EnableEvents = False 
  If Not Intersect(Target, Range("A1")) Is Nothing Then 
   Call DeinMakroName(Target.Address) 
  End If 
 Application.EnableEvents = True 
End Sub 
 
Sub DeinMakroName(AddTarget As String) 
 Range(AddTarget) = "Hallo Welt" 
End Sub 
  
Bereich Abfrage! 
Mit Ereiggnissausschaltung da Cellzugriffe erfolgen 
wahlweise auch Makro oder Functionsaufruf 
 
Private Sub Worksheet_Change(ByVal Target As Range) 
 Application.EnableEvents = False 
  If Not Intersect(Target, Range("A1:A3")) Is Nothing Then 
   Select Case Target.Address 
    Case "$A$1" 
     Cells(1, 1) = "1" 
    Case "$A$2" 
     Cells(2, 1) = "2" 
    Case "$A$3" 
     Cells(3, 1) = "3" 
  End Select 
 End If 
 Application.EnableEvents = True 
End Sub 
  
Das sollte zum Anfang erstmal reichen! 
Deine Anforderungen im Worksheet_Chang Ereigniss kannst du nun vielleicht besser umsetzen! 
Dann das Makro in Angriff nehmen! 
  
Gruß Michael 
     |