wie kann man ein Makro ausführen lassen, wenn in der Zelle A1 ein Wert verändert bzw. die Zelle dadurch verlassen wurde?
Daniel
wie kann man ein Makro ausführen lassen, wenn in der Zelle A1 ein Wert verändert bzw. die Zelle dadurch verlassen wurde?
Daniel
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
Call Mein_Makro
End If
End Sub
Gruß Herbert
Gruss aus dem Hunsrück
Klaus-Martin
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Left(Target.Address, 4) = "$A$1" Then Makro1
End Sub
Gruß
Lutz
warum funktioniert das bei mir nicht. Nochmals meine Vorstellungen:
Ich habe z.B. in A1 den Wert 25. Wenn nun der Wert geändert wird, dann soll ein Makro ausgeführt werden, und zwar bei jeder Änderung.
Soll ich das ganze in ein eigenes Modul schreiben?
Daniel
Daniel
Um ein Excel VBA Makro auszuführen, wenn eine bestimmte Zelle, wie beispielsweise die Zelle A1, verlassen wird, kannst du die folgenden Schritte befolgen:
ALT + F11, um den VBA-Editor zu öffnen.Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
Call Mein_Makro
End If
End Sub
Mein_Makro mit dem Namen deines spezifischen Makros.Problem: Das Makro wird nicht ausgeführt.
Problem: Der Code funktioniert nur einmal.
Worksheet_Change das richtige Ereignis ist.Eine alternative Methode besteht darin, das Ereignis in einem allgemeinen Modul zu deklarieren. Füge im Modul folgenden Code hinzu:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Left(Target.Address, 4) = "$A$1" Then
Makro1
End If
End Sub
Diese Methode lässt sich verwenden, um das Makro beim Verlassen der Zelle in jeder Tabelle auszuführen.
Hier sind einige Beispiele, wie du das Makro verwenden kannst:
Sub Mein_Makro()
MsgBox "Der Wert in A1 wurde geändert!"
End Sub
Sub Mein_Makro()
Range("B1").Value = Range("A1").Value * 2
End Sub
Application.EnableEvents = False und Application.EnableEvents = True, um wiederholte Ereignisse zu vermeiden.1. Wo genau soll ich den VBA-Code einfügen?
Der Code muss im Klassenmodul der Tabelle platziert werden, in der das Ereignis stattfinden soll.
2. Funktioniert das nur in bestimmten Excel-Versionen?
Der beschriebene Prozess sollte in den meisten modernen Excel-Versionen (Excel 2007 und höher) funktionieren. Achte darauf, dass die Makros aktiviert sind.