Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Excel: Eigene Funktionen mit VBA erstellen

Funktionen neu berechnen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Nicht immer werden in Excel sämtliche Funktionen direkt neu berechnet. Erfahren Sie, welche Strategien es gibt, um dieses Verhalten zu beeinflussen, aber auch, wo deren Grenzen liegen.
04:40

Transkript

Beachten Sie bitte folgendes: Die Neuberechnung von Excel-Formeln wird nicht immer automatisch aktualisiert. Vor allem Ding dann nicht, wenn Sie auf Informationen von Excel zugreifen und diese Excel- Informationen geändert werden. Das möchte ich an einem Beispiel zeigen, ich möchte eine kleine, ich gebe ganz ehrlich zu, nicht 100 % funktionierende Lösung vorstellen und werde eben die Grenzen dieser Excel-Funktion, die wir selbst geschrieben haben, hier an dieser Stelle aufzeigen. Also ich habe eine Tabelle, diese Datei hat ein Tabellenblatt und ich füge hier in diese Datei, Formeln eine Funktion ein, die Funktion AnzahlBlätter. Ok. Die Funktion AnzahlBlätter liefert mir die Zahl 1. Prima! Was passiert nun, wenn ich neues Tabelleblatt einfüge, wenn ich wieder zurück gehe zu dem alten Tabellenblatt? Ups! Das erstaunt mich! Dann sehe ich immer noch die Anzahl der Blätter auf 1. Würde ich nun die Zelle mit einem Doppelklick öffnen, das heißt wieder in die Funktion reingehen, würde ich diese Funktion mit Enter erneut bestätigen, dann erst passiert eine neue Berechnung. Das Gleiche haben wir, wenn wir über Formeln die Neuberechnung starten bzw. die Funktionstaste F9 drücken. Ärgerlich! Beachten Sie, diese Neuberechnung wird manchmal durchgeführt, manchmal nicht. Bei bestimmten Ereignissen wird sie ausgelöst, das heißt, beim neu Einfügen von Tabellenblätter wird sie nicht ausgelöst, jedoch beim Löschen von Tabellenblättern, ich habe jetzt zwei Tabellenblätter eingefügt, beim Löschen, ja, mach mal bitte, jetzt habe ich drei Tabellenblätter, hier wird die Neuberechnung durchgeführt. Ein klein bisschen Abhilfe kann man schaffen: Bitte, liebes Excel, führe häufiger eine Neuberechnung durch, indem sie, Entwicklertools, in dieser Funktion, AnzahlBlätter = ActiveWorkbook. Worksheets.Count, indem Sie in dieser Funktion den Befehl Application.Volatile einfügen. Achtung, auch dieser Befehl sorgt nicht 100 % für eine neue Berechnung. Er ist zwar etwas besser, aber eben bei manchen Ereignissen funktioniert es nicht. Ich zeige Ihnen eine andere Funktion. Mehrere Zellen werden berechnet. Ich durchlaufe sämtliche Zellen der Markierung. Wenn Zelle.Font.Bold = True, also wenn die Zelle fett, von der Schriftart fett formatiert ist, dann bitte summiere die Werte und zeige mir die Summe, der als fett formatierten Zellen, an. Zurück zu Excel. Ich habe eine kleine Liste. 1, ich ziehe das runter mit Strg-Taste, formatiere drei Zellen mit der Schriftfarbe fett, verwende nun meine Funktion Formeln Funktion einfügen SummeFett, Ok, von diesem Bereich, dann wird er natürlich die drei fetten Zellen summieren. Wenn ich nun eine andere Zelle auch noch fett mache, Sie ahnen es bereits, was passiert, weil ich hier nun auf die Excel- internen-Objekte zugreife, wird diese Formel nicht aktualisiert. Sie wird dann aktualisiert, wenn ich in irgendeiner Zelle einen anderen Wert eintrage, zum Beispiel hier eine 5, Enter drücke, dann passiert eine neue Berechnung. Aber wie gesagt, bei einem neuen Tabellenblatt einfügen, oder bei dem Ereignis schalte Fettung ein oder aus, geschieht leider keine Aktualisierung, weil das für ihn kein Ereignis ist, das eine neue Berechnung zur Folge hat. Blöd, ärgerlich. Auch ein Befehl wie Application.Volatile, den ich hier schon eingefügt habe, der auf True gesetzt wird, bewirkt nicht, dass diese Neuberechnung durchgeführt wird. Damit musste man Leben, Sie müssten also entweder per Hand unter Formeln die Formel neu berechnen lassen, oder irgendeine relevante Aktion einfügen, wie beispielsweise Wertenzahlen in Zellen schreiben, damit diese Neuberechnung durchgeführt wird. Und beachten Sie, diese, ich nenne sie mal, Anomalie von Excel dieses nicht automatisch erneut berechnen, passiert genau dann, wenn Sie auf die Excel-Objekte zugehen, wie in diesem Beispiel, überprüfe die Fettung von Zellen, oder wie in diesem Beispiel, überprüfe die Anzahl der Tabellenblätter und liefere mir eben diese Anzahl zurück als Zahl.

Excel: Eigene Funktionen mit VBA erstellen

Schreiben Sie Ihre eigenen Excel-Funktionen. Als erfahrener Excel-Anwender lernen Sie, wie Sie mithilfe von VBA Berechnungen mittels selbst erstellter Funktionen automatisieren.

3 Std. 4 min (33 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:21.01.2015

Im Training wird Excel 2013 benutzt. Die Vorgehensweisen sind aber für alle Windows-Versionen von Excel identisch und leicht übertragbar.

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!