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 2016 VBA Grundkurs

Tabellen mit Datumswerten erstellen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Füllen Sie die Tabelle möglichst effizient mit den gewünschten Monatsnamen und Datumswerten. Das ist ohne VBA sinnvoller, weil Excel dafür geeignete Methoden bereitstellt.

Transkript

Ich möchte Ihnen als Beispiel für den Einsatz dieser VBA-FUnktionen einen Kalender zeigen. Der Kalender ist mit Absicht noch nicht fertig, denn auch die Erstellung lässt sich vereinfachen. aber nicht mit VBA. VBA ist immer gut wenn es nicht mehr anders geht. Dann mache ich das auch sehr gerne, aber es sollte immer nur die zweite Wahl sein. Die erste Wahl sind Fähigkeiten von Excel selber. Man macht es sich unnötig schwer, wenn man alles mit VBA machen will. Zum Beispiel eine Liste von Monatsnamen als Überschrift. Das geht per VBA, wenn es sein muss, ist auch nicht wirklich schwierig, aber es geht schneller in Excel selber. Sie schreiben den ersten Monat hin, entweder Januar, oder da ich hier auf einem österreichischen Rechner bin, "Jenner". Und würden das bei Bedarf direkt formatieren. Ich habe hier oben das Ribbon schon mal eingeklappt. Das kennen Sie sicherlich per Doppelklick wird es ein- oder ausgeklappt. Sie können das alternativ auch hier vorne machen. Dann braucht es ein bisschen weniger Platz, weil ich hier bis zur Zeile 34 gehen muss. Und dort würde ich jetzt auswählen, eine Zellenformatvorlage, sagen wir diese hier. Und dann kann ich an diesem kleinen Knubbel ziehen, und das Quick-Info sagt mir schon, wie weit gezählt wird. Und es wird genauso formatiert und geschrieben, wie der erste Monat. Wenn ich ihn in Großbuchstaben geschrieben hätte, wären alles Grpßbuchstaben gewesen, hätte ich ihn abgekürzt, entsprechend. Damit bin ich also schon mal fertig. In der Zeit hätten Sie den VBA-Editor noch nicht mal geöffnet. Das geht so bedeutend schneller. Entsprechend geht es weiter mit den Datumswerten. Auch die werde ich errechnen, und zwar so, dass ich nachher hingehen kann, und muss nur einen einzigen Tag ändern, und habe den Kalender für jedes beliebige Jahr. Auch das könnte man sich mit durchaus komplizierten VBA-Formeln ermitteln, aber Sie werden sehen, es geht mit Excel-Funktionen viel einfacher. Nehmen wir den ersten Tag, den ersten Januar 2017. Der Tag danach ist ganz einfach, das ist eben jener Tag plus eins. Eine Formel, die an Banalität kaum zu überbieten ist. aber sie funktioniert wunderbar und da sie relativ ist, immer ein Tag weiter als vorher, kann ich sie schon mal unkompliziert bis hier unten ziehen. und bin bis zum 31.01.2017 gekommen. Wenn ich hier das Datum ändere, ändern sich alle folgenden mit. "01.01.2018", einmal bestätigen und fertig. Jetzt kommt wieder der 01.01.2017 rein. Und jetzt kommt der nächste Monat. Sie könnten natürlich hier den 01.02.2017 reinschreiben, Und - da bin ich gerade auf die falsche Taste gekommen - beide markieren, und das nach hinten weiterziehen, wie ich das oben mit den Monatsnamen gemacht habe. Dann guckt sich Excel die Differenz an, sieht das ist ein Monat und würde das hier entsprechend erweitern. So weit so nett, gar nicht schlecht für den Anfang, aber leider statisch. Wenn ich jetzt den Ersten auf 2018 stelle, dann ändern die sich kein bisschen. Das muss ich also ebenfalls mit einer Formel machen, deswegen werde ich die hier wieder löschen. Und das Interessante dabei ist, dass die Funktion, die es dafür braucht, unglaublich gut versteckt ist. In VBA gibt es diese Funktion schon immer. Die heißt "DateAdd". Auf ein Datum etwas draufzählen, zum Beispiel einen ganzen Monat, egal wie lang er ist, ist nämlich der Trick. Ich kann nicht einfach "+31" schreiben. Dann müsste ich für jeden Monat wissen, wie viele Tage jeweils der vorherige hat. Also, es muss eine Funktion sein, die in der Lage ist, einen Monat draufzuzählen, egal wie lange der vorher war. Und das Komische ist, Vorher war sie außerdem nur durch Add-ins hinzuzufügen Vorher war sie außerdem nur durch Add-ins hinzuzufügen und heute ist sie weiterhin, sagen wir freundlich, eigenwillig benannt. Wenn Sie diese Funktion suchen, sie heißt "EDATUM" und ist , - anders als das VBA-Gegenstück DateAdd - nur in der Lage Monate hinzuzufügen. Die "DateAdd"-Funktion kann außerdem auch Jahre oder Quartale oder so was addieren. "EDATUM" ist also die Funktion unserer Wahl. Wenn Sie frührere Excel-Versionen benutzen, dort müssen Sie das Add-in Analysefunktionen aktivieren, damit Sie an die Funktion rankommen. Und dann klicke ich das gewünschte Startdatum an, nach dem Semikolon die Anzahl der Monate, nämlich genau einen, Klammer zu und fertig. Und das kann ich jetzt wieder rüberkopieren. Das ist eine Funktion. Hat überall den richtigen Starttag. Wenn ich jetzt den 01.01.2018 eintrage, und mit RETURN bestätige, sehen Sie, das ändert sich weit und breit alles korrekt. also, wieder rückgängig. So weit so gut. Jetzt geht's hier weiter. Diese Funktion, die also den Tag davor einfach nimmt und weiterzählt, kann ich, - das können wir sogar für den ganzen Block hier machen - kann ich einfach mal nach rechts kopieren. Ganz ungeniert den gesamten Jahresblock ausfüllen. Da gibt es natürlich eine Menge Fehlerhafte. Ich werde mal alle die rauslöschen, die den falschen Monat haben. Mit gedrückter STRG-Taste kann ich jetzt eine Mehrfachmarkierung machen. Das sind vor allem die hier mit dem Ersten, die nämlich nur 30 Tage haben, aber das trifft auch den Februar. Und die werde ich jetzt erstmal entfernen. Das ist korrekt für Jahre, die kein Schaltjahr sind. Für diese Zelle habe ich hier natürlich einen Sonderfall. Ich möchte nicht jedes Mal ermitteln müssen, ob es sich um ein Schaltjahr handelt. Und nur dann darf natürlich, der 29.02. erscheinen. Ich brauche also eine Formel, die das löst. Und das Einfachste ist, indem ich für diesen Tag frage, ob der Monat von diesem Tag identisch ist mit dem Monat, der hier oben steht. Oder meinetwegen auch da drunter, aber da ist am sichersten. Wenn das der Fall ist, bin ich noch im 29.02. Wenn nicht würde hier der01.03. angezeigt, und dann will ich ihn nicht sehen. Also schreibe ich genau das hin. "=WENN" der "Monat", Klammer auf, von diesem Tag "+1", das ist der Tag, der hier käme, gleich dem Monat von diesem Tag hier oben ist, Klammer zu, Semikolon, dann habe ich ein Schaltjahr. Dann darf ich also wirklich diesen Tag "+1" rechnen, Semikolon, andernfalls darf hier nichts erscheinen, da kommt jetzt ein sogenannter Leer-String, also Gänsefüßchen auf, nichts schreiben, Gänsefüßchen zu, Klammer zu und fertig. Nach dem RETURN ist diese Zelle leer, Hier gib es so ein Smart-Tag, was sich wundert, warum hier eine andere Formel drin steht. Das kann ich als Fehler ignorieren. Und jetzt nehmen wir einfach mal das Jahr 2012, das war nämlich ein Schaltjahr, "01.02.2012". Und mit dem RETURN sehen Sie, da unten erscheint auch der 29. . Damit haben also das automatisch abgefangen, und für den "01.01.2017" wir der 29. wieder weggeblendet. Das ist also eine Möglichkeit, um hier mit einer einzigen Änderung, den gesamten Kalender korrekt zu haben. Er ist noch nicht schön, aber er ist schon korrekt. Und dann können wir da oben auch gerade eben die Jahreszahl anzeigen. Da mache ich jetzt einfach eine Formel draus. Verkettet nicht mit dem Monat, sondern mit dem Jahr, - das ist hier die entsprechende Funktion - von dieser Zelle, - die kann ich mit F4 auch absolut setzen - Klammer zu und RETURN. Damit sieht man dann hier oben auch schon, - was hier so ein kleines bisschen untergeht, in der Schriftgröße - um welchen Kalender es sich handelt. Sie müssen als einzige Zelle diese ändern, das passende Neujahrdatum eintragen, und schon haben Sie ein Kalender für ein beliebiges Jahr.

Excel 2016 VBA Grundkurs

Lassen Sie sich systematisch in die Excel-Programmierung mit Visual Basic for Applications (VBA) einführen.

7 Std. 25 min (66 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:30.08.2016

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!