Excel-VBA: Per Makro chemische Formeln leichter erfassen

Wie lassen sich in Excel alle Zahlen in einer chemischen Formel mühelos tiefstellen?

Word besitzt in der Registerkarte Start dafür das Symbol Tiefgestellt oder auch die Tastenkombination STRG>+#. In Excel lässt sich dieses Problem über das Dialogfeld Zahlen formatieren, im Register Schrift über den Effekt Tiefgestellt lösen.

Aber das kann ziemlich mühsam und zeitraubend sein, wenn wie im folgenden Beispiel der Tiefstellvorgang gleich mehrfach zu wiederholen ist. Denn fatalerweise lassen sich nicht – wie in Word – mehrere nicht zusammenhängende Zeichen markieren.

C7H4N2O7

Ein kleines Makro nimmt die Arbeit des Tiefstellens ab

Angenommen, in A1 steht die chemische Formel, in der alle Ziffern tiefgestellt werden sollen. Ein Klick auf die Makro-Schaltfläche in der Schnellzugriffsleiste (Bild 1) reicht, um ab sofort alle Ziffern in einer chemischen Formel – so wie in Spalte C gezeigt – tiefzustellen.

Ziffern in chemischen Formeln leichter tiefstellen per Makro

Bild 1: Excel-Arbeitsmappe mit modifizierter Schnellzugriffsleiste

Im VBA-Editor das Makro Zahlen_tiefstellen erfassen

Erstellen Sie im VBA-Editor folgende kleine Prozedur:

VBA-Code zum Tiefstellen aller Zahlen in einer Zelle

Bild 2: VBA-Code der Prozedur Zahlen_tiefstellen

Machen Sie die Prozedur anschließend – wie in Bild 3 gezeigt – über die Symbolleiste für den Schnellzugriff verfügbar und speichern Sie die Datei als Makro-Arbeitsmappe (mit der Endung *.xlsm).

Das Makro in die Schnellzugriffsleiste einbauen

Bild 3: Das Makro über die Symbolleiste für den Schnellzugriff verfügbar machen

FERTIG!

Dieser Beitrag wurde unter Excel-VBA abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Eine Antwort auf Excel-VBA: Per Makro chemische Formeln leichter erfassen

  1. Kathrin sagt:

    Danke für den Tipp. Hab es ausprobiert und es klappt! Wann gibt es mehr davon?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.