Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Excel: Eigene Funktionen mit VBA erstellen

Programmierfehler finden

Testen Sie unsere 2017 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Programmier- und Denkfehler zu entdecken, ist nicht immer einfach. Aber es gibt einige Techniken, mit deren Hilfe man solche Fehler schneller finden kann. Welche das sind, erfahren Sie in diesem Film.
06:53

Transkript

Fehler sind und bleiben etwas Schreckliches. Aber das Schlimme ist, jeder von uns macht Fehler. Es kommt nur darauf an, vor allem Ding in der Programmierung, wie man diese Fehler findet und wie man sie auch möglich schnell ausmerzen kann. Welche Strategien es gibt um zu den Felherquelle zu gelangen, damit man sie vielleicht beim nächsten Mal nicht mehr macht oder nicht mehr ganz so häufig macht. Ich zeige Ihnen in diesem Video einige Strategien, wie man an möglicher Fehler rankommt. Ich habe dazu ein kleines Programm geschrieben, eine kleine Funktion natürlich, die das Alter berechnet. Altersberechnung hört sich auf den ersten Blick einfach an, Altersberechnung ist aber nicht ganz trivial, weil ich gebe ein Geburtsdatum ein, angenommen ich bin geboren am 07.04.1964, angenommen heute ist, Strg + ., der 24.11.2014, dann darf ich eigentlich nicht rechnen 1964 - 2014, das würde bei mir zufällig jetzt stimmen, ich bin 50 Jahre alt, sondern ich muss noch überlegen, hat er oder sie in diesem Jahr schon Geburtstag gehabt? Wenn Ja dann muss ich anders rechnen. Wenn Ja dann muss ich von diesem 50 Jahren ein Jahr abziehen, dann ist er noch nicht 50, dann ist er eben 49 geworden. Schauen wir uns das Ganze mal an. Ich habe eine kleine Funktion, =Altersberechnung, geschrieben. Die berechnet mir aus diesem Geburtsdatum, ok. Ups! Was ist denn das? Nicht das korrekte Alter! Schauen wir uns es mal an. Virtual Basic. Ich finde die Altersberechnung hier. Wenn Sie ein Blick darauf werfen und vielleicht sehen Sie schon, was ich alles gemacht habe. Ich habe hier ein paar Fehlerchen eingebaut. Die funktioniert so nicht. Sie läuft zwar durch, ohne Fehlermeldung, aber sie liefert dummerweise nicht das richtige Datum. Angenommen Sie haben eine große komplexe Funktion, finden nicht gleich die Fehlerquelle. Nun dann können Sie einen Haltepunkt setzen. Das heißt, Sie können hier in die graue Leiste vor dem Code hinklicken, das heißt, das Programm wird hier stoppen und Sie können nun im Einzelschritt-Modus weiter durchgehen. Schauen wir es uns nochmal an. Meine Funktion starte ich nochmal mit Doppelklick, Enter, und er springt hier rein. Geburtsdatum wird richtig berechnet, das aktuelle Datum stimmt auch, F8, F8, F8, F8. Aha! Jetzt erkenne ich es schon. Meine Funktion Altersberechnung bekommt nirgendwo einen Wert zugewiesen, das heißt, ich habe einfach vergessen, Stopp, Stopp, Stopp, hier in dieser Funktion noch zu schreiben Altersberechnung = das Ergebnis meiner Berechnung, nämlich intAlter. Ok, probieren wir das nochmal. Ich löse den Haltepunkt auf, wechsele zurück nach Excel mache einen Doppelklick, die Fehlermeldung kommt, weil ich das Programm unterbrochen habe, Doppelklick, Enter. Es sieht schon besser aus, aber richtig ist es anders. Ich bin natürlich 50 Jahre alt und nicht -51. Hier wieder gleiches Spiel. Angenommen ich würde nicht sofort den Fehler finden, setze ich einen Haltepunkt, gehe wieder zurück nach Excel, lasse das Programm nochmal laufen, Start, und teste, mein Geburtsdatum ist der 07.04.1964, das aktuelle Datum ist der 24.11.2014, das Ergebnis F8, ist -50. Ja, das stimmt schon und jetzt fällt mir ein, ich muss natürlich das aktuelle Datum minus mein Geburtsdatum. Heute ist ja nach meinem Geburtsdatum. Stopp, Stopp, Stopp, auch hier wieder beenden wir das, drehen das Ganze um, schieben das nach hinten, machen hier Year(Date)-Year(Geburtsdatum), löschen das Minus raus, löschen den Haltepunkt, ich probiere jetzt nochmal, Enter, 49 nein, ich bin 50 Jahre, das weiß ich, den Geburtstag habe ich dieses Jahr gefeiert. Also noch einmal zurück. Woran könnte es liegen? Haltepunkt gesetzt. Doppelklick aufmachen, Enter. Er springt rein, F8. Das Alter wird mit 50 hier korrekt berechnet. Angenommen er hat noch keinen Geburtstag gehabt, angenommen seinen Geburtstag ist nach dem aktuellen Datum, F8, und jetzt sehe ich es, nach dem aktuellen Datum ich muss natürlich hier diesen Vergleichsoperator umdrehen, Stopp, Stopp, Stopp, hier wieder Stopp, zurück, Test, Doppelklick, Enter. Jetzt stimmt es! Achtung! Mit dem jetzt stimmt es begnüge ich mich natürlich nicht, sondern probiere noch andere Varianten durch. Angenommen er hatte noch nicht Geburtstag, angenommen wir schreiben den 01. Dezember 20... nein, machen wir 1964, ok, dann wäre er 49 Jahre alt, das ist richtig. Angenommen wir schreiben den 30. November 2014, dann... was ist denn das? berechnet er wieder nichts. Auch hier wieder gleiches Spiel. Entweder ich setze einen Haltepunkt, oder ich schaue mal durch, woran könnte es denn liegen, und jetzt stelle ich fest, ich muss natürlich auch hier das Ungleichheitszeichen umdrehen, auch das ist falsch. If Day Date im gleichen Monat Month vom Geburtsdatum, so was passiert ganz gerne, wenn Sie Zeilen kopieren, dann schleift sich so einen Fehler mit, dann muss er auch von dem Alter 1 abziehen und am Ende Altersberechnung, nochmal zurück. Test, Enter. -1 Ups! Was ist denn hier los? Ach ja! Jetzt ein anderer Fehler, habe ich natürlich etwas Falsches eingegeben. Angenommen ich bin geboren am 30.11. 1964, dann wäre ich 49 Jahre alt. Angenommen ich wäre geboren im Monat November, am 03,11,, dann bin ich schon 50 Jahre, weil 24. wäre dann mein Geburtstag. Das heißt, was ich zeigen will, testen Sie gut alle möglichen Varianten, die es gibt, die Sie hier in der Programmierung abgefangen haben. Wenn Sie Ihren Fehler nicht finden, ein kleiner Tipp, setzen Sie Haltepunkte, lassen Sie die Funktion bis dahin durchlaufen, und testen das Ganze dann mit F8, F8 im Einzelschritt-Modus, fahren Sie mit der Maus über die Variablen, überprüfen Zeile für Zeile, wo er reinläuft, wie er reinläuft, wann er reinläuft, und so finden Sie mit Sicherheit den Fehler.

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!