Excel 2013 VBA für Profis

Zahlen formatieren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Diese drei Funktionen formatieren Zahlen auf die gewünschte Anzahl von Nachkommastellen. Vor allem die Format-Funktion ist recht flexibel und ermöglicht die Angabe praktisch beliebiger Zahlenformate.

Transkript

Die Funktionen, die sich mit der Verarbeitung von Zahlen oder mit deren Formatierung vor allem beschäftigen, die brauchen natürlich auch als sinnvolle Konstante geeignete Zahlen. Deswegen habe ich hier ein neues Modul angefangen und erfinde eine Konstante, die eben letzten Endes eine Double-Zahl sein wird, nämlich sagen wir mal Pi, 3.1415. Sie sehen, amerikanisches Programmiersystem, also ein amerikanischer Dezimalpunkt. Und weil auch Datumswerte letzten Endes nur Zahlen sind, kann ich entsprechend eine zweite Konstante, nämlich für Weihnachten erfinden. Und Datumswerte schreiben sich mit dem Doppelkreuz in der Reihenfolge: Monat, Tag und Jahr. Und dann natürlich Doppelkreuz wieder zu. Damit die Unterstriche nicht verschwinden, mache ich hier einen Kommentar ohne Inhalt hin, und kann mich jetzt um die erste Funktion kümmern. Das ist eine Funktion, die aus Nachkommazahlen ganzzahlige Werte macht. Das wird oft geschlabbert, anders kann man das nicht sagen, weil Visual Basic sehr automatisch Typumwandlungen vornimmt. Wenn Sie einer Integer-Variablen eine Zahl wie 3.1415 zuweisen, dann wir da automatisch nur die 3 drin erscheinen. Das ist aber unsauber. Eigentlich müssten Sie zuerst eine Function schreiben wie diese, die jetzt hier zu Testzwecken allerdings eine Sub-Prozedur ist. Und mit dieser Function erstmal umrechnen eine Double, Nachkommazahl in eine Integer, Ganzzahl. Ich zeige Ihnen jetzt einfach nur hier, wie die Funktion heißt. Mit Debug.Print. Die Funktion selbst heißt Fix und kann aus einer Double-Zahl, die ja hier Nachkommastellen hat, den ganzzahligen Teil extrahieren. Ich sehe gerade, dass da oben ein C fehlt. So. Und jetzt kann ich mit F5 aus der 3.1415 nur die 3 machen. Also die Fix-Funktion macht den fixen, den ganzzahligen Anteil und den variablen, ist nicht richtig, den fließenden, den Nachkommaanteil lässt er weg. Das geht auch mit einer anderen Funktion, und zwar ein bisschen flexibler, nämlich Sub ZahlRunden. Die Funktion heißt entsprechend erwartungsgemäß auch Round, runden. Die will als ersten Parameter sehen, welche Zahl denn als Ausgangswert benutzt werden soll. Und nach dem Komma, wie viele Ziffern nach dem Komma gerundet werden sollen. Also wenn ich das so speichere und dann mit F5 starte, dann sehen Sie 3,142 gerundet. "15" wird korrekt gerundet kaufmännisch. Das wird also auf drei Nachkommastellen gerundet. Die Round-Funktion ist schön flexibel, aber es gibt eine, die noch flexibler ist, die Sie mit Sub ZahlFormatieren kennenlernen, nämlich mit Debug.Print der Format-Funktion. Die will auch als ersten Parameter den konstanten Wert sehen und dann in einem zweiten Parameter in Gänsefüßchen eine Formatangabe, zum Beispiel 0.00. Wenn ich schon sage "0,0", aber Sie sehen gleichzeitig, dass ich 0.0 schreibe, dann ahnen Sie schon, Sie geben hier das amerikanische Format, die amerikanische Schreibweise an. Aber Sie werden gleich sehen, nach dem Speichern, wenn ich es mit F5 aufrufe, ausgedruckt oder angezeigt wird trotzdem die deutsche Version. Also in der Format-Anweisung den amerikanischen Dezimalpunkt, in der Ausgabe, im Ergebnis das deutsche Dezimalkomma. Wenn Sie einen Tausenderpunkt sehen wollen, den wir hier nicht brauchen, dann müssen Sie natürlich in diesem Fall für das Format auch das amerikanische Tausenderkomma machen. Das wir jetzt hier nicht erscheinen, weil die Doppelkreuze in der Format-Anweisung ja sagen "erst wenn nötig". Deswegen; es ist hier nicht nötig. Wenn Sie es erzwingen wollen, dass das mit Nullen aufgefüllt wird, dann müssen Sie auch die 0 schreiben, also jetzt mit F5. Dann sehen Sie "0 tausend, 0 hundert und 3,14". Sieht aber, gelinde gesagt, ungewöhnlich aus und von daher mache ich mal wieder das übliche Tausender-Format. Und schließlich bleibt noch das Datum übrig. Also: Sub DatumFormatieren. Da lohnt sich allemal, die Format-Funktion, die ist nämlich sehr flexibel. Weil das Datum ja auch eine spezielle, aber eben eine Zahl ist, können Sie das mit der Format-Funktion auch formatieren. Und zwar Debug.Print. Im einfachsten Fall, wenn Sie zum Beispiel das komplette Datum angeben: Format (m_cdatWeihnachten,". Und ich würde jetzt zum Beispiel sowas schreiben wie Tag, Punkt, 3-ziffriger Monat, Punkt, und 1, 2, 3, 4, 4-ziffriges Jahr, Gänsefüßchen zu, Klammer zu. Und dann sehen Sie, mit der F5-Taste. Der 24. ist ein 2-ziffriger Tag. Das ist natürlich Weihnachten immer, 2-ziffrig. Der Dezember in der kurzen Schreibweise, dreimal das M, also auf drei Buchstaben gekürzt, und das komplette Jahr. Ich kann das auch, ist beim Dezember immer 12, aber ich mache das mal in der Fassung, ihn kürzer formulieren. Also beispielsweise so. Und mit F5, dann sehen Sie; da habe ich jetzt allerdings hier mittendrin reingeschrieben. So ist es besser. Dann sehen Sie, "24" sowieso 2-stellig, "12" ist auch 2-stellig, "13". Ansonsten, für Neujahr steht da "1.1.13". Sie können auch Teile da rausholen, immer als Zeichenkette im Ergebnis. Das heißt, zum Beispiel den Monatsnamen. 1, 2, 3, 4, ausgeschrieben. Große M, immer dran denken. F5 zeigt dann, das ist der September. Oder einen Tagesnamen, nämlich welchen Werktag wir haben. Viermal das D, dann ist er ausgeschrieben. Also mit F5, das ist offensichtlich, Weihnachten 2013, ein Dienstag. Und so können Sie hier entsprechend mit diesem D für "day", "month", großes M für den Monat, und Y für das Jahr nach Herzenslust das alles zusammenstellen und sich entsprechend das Format aussuchen. Die Format-Funktion funktioniert also sowohl für Zahlen als auch für Datumswerte. Die Fix- und Round-Funktionen im Grunde auch, aber da ist sie überflüssig. Und die bieten jeweils die Möglichkeiten, Nachkommastellen mehr oder weniger zu haben. Also verschiedene Methoden, um vor allem aus Nachkommazahlen ganzzahlige oder in einem bestimmten Format dargestellte Werte zu machen.

Excel 2013 VBA für Profis

Nutzen Sie die Möglichkeiten der Programmiersprache VBA in Excel 2013, um eigene Dialoge zu erstellen, auf andere Arbeitsmappen zuzugreifen und wichtige Funktionen einzusetzen.

4 Std. 59 min (53 Videos)
Derzeit sind keine Feedbacks vorhanden...

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!