Abseits der Grundrechenarten kommen mathematische Berechnungen sowohl immer wieder in VBA-Routinen zum Einsatz, wie auch in Abfragen auf Tabellenfelder. Einen überblick über das, was VBA uns zu diesem Thema anzubieten hat, zeigen wir im Folgenden – und ebenso, wie sich der Funktionsumfang durch die Excel-Bibliothek erweitern lässt.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1506_Mathe.accdb
Die Bibliothek Math von VBA
öffnen Sie den Objektkatalog des VBA-Editors und wählen links oben aus der Combobox den Eintrag VBA aus. Markieren Sie dann die Zeile Math in der Klassenauflistung links. Rechts werden Ihnen nun die Funktionen der Klasse angezeigt – siehe Bild 1.
Bild 1: Die VBA-Klasse Math im Objektkatalog
Ziemlich überschaubar, was uns da geboten wird. Gerade mit zwölf Methoden werden wir beglückt. Wenn es um naturwissenschaftliche oder finanzielle Berechnungen geht, dann bleibt Ihnen nicht erspart, die komplexeren Funktionen selbst in Modulen nachzurüsten und zu programmieren.
Aber durchlaufen wir einmal das Vorhandene. Zunächst für die einfacheren Methoden…
Abs gibt den Absolutwert einer Zahl zurück. Das bedeutet nichts anderes, als dass eine negative Zahl in eine positive verwandelt wird. +13 und -13 haben beide den gleichen Absolutwert 13.
Sgn ist ähnlich, gibt aber lediglich das Vorzeichen der Zahl zurück. Allerdings nicht als String, sondern als Zahl. Jede Zahl größer als 0 ergibt eine 1, jede kleiner als 0 eine -1. Nur bei 0 ist auch der Rückgabewert eine 0. Round rundet eine Fließkommazahl auf eine wählbare Anzahl von Nachkommastellen:
Round (2.4674) > 2,47
Lassen Sie Vorsicht walten, wenn es um das Runden von Zahlen geht, besonders wenn es um Währungsberechungen handelt! Denn dort ist Runden nicht gleich Runden. Mathematisches Runden und kaufmännisches Runden etwa unterscheiden sich. Unterziehen Sie einmal die Zahl 2,465 einem VBA-Round. Als Ergebnis erhalten Sie 2,46! Die 5 am Ende wird also nicht aufgerundet. Für korrektes Runden benötigen Sie daher eine eigene Funktion, die etwa so aussähe:
Unser exklusives Angebot für Dich!
(Das Abo ist jederzeit monatlich kündbar)
Hier geht’s weiter →Die ersten 4 Wochen kostenlos testen – voller Zugriff auf alle Artikel, vollständigen Code und Beispieldatenbanken. Kein Risiko: Wenn es nicht passt, kündigst Du einfach innerhalb der ersten vier Wochen.
Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?
Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?
In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.
Jetzt kostenloses Access-Audit anfordern →![Access [basics]](https://access-basics.de/wp-content/uploads/2021/02/logo400.png)
