Excel # 334 - Makro automatisch bei Änderungen ausführen - VBA Worksheet_Change
Вставка
- Опубліковано 7 вер 2024
- Veränderungen auf dem Tabellenblatt können direkt eine ereignisgesteuerte Prozedur auslösen. Worksheet_Change fängt Änderungen auf dem Tabellenblatt ab und wird automatisch - insofern nicht abgeschaltet - ausgelöst. Bitte Vorsicht beim Einsatz in Produktivumgebungen.
Es ist echt toll so etwas mit den Worksheet Events zu zaubern. Einfach klug.
Herzlichen Dank. 🌟 🌟 🌟 🌟 🌟
Hallo Andreas,
danke für das Video. Benutze diese Prozedur für rechenintensive Arbeitsmappen (viele volatile Funktionen). Dort habe ich in den Excel-Optionen die automatische Berechnung oder per Makro beim öffnen der Mappe bzw. pro Blatt abgeschaltet. Damit Excel nicht ständig beim arbeiten am rödeln ist. So wird nur bei Veränderung einer fixen Zelle die Mappe/Blatt neu berechnet. Beispielsweise durch die Eingabe einer Auftrags- oder Rechnungsnummer.
Gibt es denn die Möglichkeit ein Makro automatisch aufzurufen wenn sich der Zelleninhalt durch eine Verknüpfung zu einer anderen Zelle ändert???
Eine Liste aller meiner Videos findet ihr auf thehosblog.com/videoliste
Dort gibt es eine Excel-Datei, die ich mit jedem neuen Video über Excel Online aktualisiere.
Hier noch das Beispiel:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$12" Then
Sheets("Rechnung").EnableCalculation = True
Sheets("Rechnung").Calculate
'evtl. noch weitere Anweisungen per Code
Sheets("Rechnung").EnableCalculation = False
End Sub
Hallo Andreas, tolle Videos! Hast du vllt. auch ein Video, wo erklärt wird wie Änderungswerte automatisch protokolliert werden?
Bsp. Live Kurse von Aktien werden automatisch Zeilenweise in eine Arbeitsmappe hinzugefügt, sodass die Historie analysiert werden kann und ein Chart gebildet werden kann.
Ich möchte in Excel einen Währungswert und einen Zahlenwert zu einem monatlichen Datum ändern, wenn ich Excel an diesem monatlichen Datum öffne.
Zum Beispiel hat Zelle A1 am 1. September den Wert 100 und es dauert noch 10x, am 1. Oktober den Wert 90 und es dauert noch 9x usw.
Geht das? Von Makros hab ich null Ahnung
ich möchte gerne ein Makro erstellen, das bewirkt, dass wenn eine bestimmte Zelle einen wert erreicht, der in einer anderen Zelle steht, dass dann ein bestimmter Bereich von Zellen umformatiert wird. geht das?
In welcher Form denn umformatiert? Wenn es um Formate geht (z.B. Farben), reicht dort auch oft die bedingte Formatierung.
mit der bedingten formatierung komme ich klar. was ich machen möchte, ist, dass eine Zelle in einem bestimmten Bereich die nichtleeren Zellen zählt (also mit =anzahl2) und wenn der ausgegebene wert ein ganz bestimmter ist (sagen wir mal 5), dann sollen die Zellen in diesem Bereich In der Formatierung entsperrt werden (standardmäßig ist der haken ja bei gesperrt gesetzt, und das sperren von Zellen kann man ja für den blattschutz (schreibschutz) benutzen.)
ich hoffe, die Erklärung ist verständlich.
kurz gesagt: wie erstellt man ein Makro mit der Bedingung, dass eine bestimmt Auswahl an Zellen "entsperrt" wird, wenn eine bestimmte Zelle einen gewissen wert enthält?