Erstellen von hochgestellten und tiefgestellten Schaltflächen (Microsoft Excel)
Wenn Sie eine Zelle in Excel bearbeiten, haben Sie Zugriff auf mehrere Schaltflächen der Formatierungssymbolleiste, die die Formatierung der Zelle etwas vereinfachen können. Sie können beispielsweise die Werkzeuge Fett oder Kursiv verwenden, um diese beiden Attribute für jeden in einer Zelle ausgewählten Text zu ändern. Irgendwann möchten Sie möglicherweise andere Symbolleistenschaltflächen erstellen, um andere Formatierungen zu verarbeiten, z. B. das Anwenden von hochgestellten oder tiefgestellten Zeichen.
In Excel können Sie jedoch keine eigenen Formatierungswerkzeuge erstellen und diese beim Bearbeiten einer Zelle verwenden. Dies liegt daran, dass Excel alle benutzerdefinierten Makros während der Bearbeitung „deaktiviert“.
Sie müssen den Zelleninhalt über Format | formatieren Zellen oder durch Drücken von Strg + 1, um das Dialogfeld Zellen formatieren direkt anzuzeigen.
Es gibt jedoch eine einfache Möglichkeit, eigene Formatierungswerkzeuge zu erstellen. Dies beinhaltet die Verwendung von Benutzerformularen und VBA, um Ihr eigenes Formatierungsdialogfeld zu erstellen. (Ich weiß – dies ist nicht wirklich ein Dialogfeld, sondern ein Formular.) Das Erstellen eines eigenen Benutzerformulars ist nicht besonders schwierig, aber nichts für schwache Nerven, wenn es um Makros geht. Führen Sie die folgenden Schritte aus, um Ihr eigenes Formular zu erstellen:
-
Drücken Sie Strg + F11, um den VBA-Editor anzuzeigen.
-
Wählen Sie im VBA-Editor im Menü Einfügen die Option Benutzerformular. Ein neues, leeres Benutzerformular wird zusammen mit der Formular-Toolbox angezeigt.
-
Fügen Sie mithilfe der Steuerelemente in der Formular-Toolbox drei CommandButton-Steuerelemente oben im Formular hinzu.
-
Ändern Sie die Eigenschaften für das linke CommandButton-Steuerelement so, dass sein Name btnSuper und seine Beschriftung hochgestellt ist.
-
Ändern Sie die Eigenschaften für das mittlere CommandButton-Steuerelement so, dass sein Name btnSub und seine Beschriftung Index ist.
-
Ändern Sie die Eigenschaften für das rechte CommandButton-Steuerelement so, dass sein Name btnNormal und seine Beschriftung Normal ist.
-
Fügen Sie direkt unter den drei Schaltflächen ein TextBox-Steuerelement hinzu. Sie müssen für dieses Steuerelement keine Eigenschaften ändern.
-
Fügen Sie direkt unter dem TextBox-Steuerelement ein viertes CommandButton-Steuerelement hinzu.
-
Ändern Sie die Eigenschaften für dieses letzte CommandButton-Steuerelement so, dass sein Name btnExit und seine Beschriftung Exit lautet.
Das ist es; Sie haben Ihr Benutzerformular erstellt und können den soeben platzierten Steuerelementen Makrocode zuordnen. Drücken Sie bei ausgewähltem Benutzerformular F7, um das Codefenster für das Formular anzuzeigen. Das Fenster kann eine oder zwei Zeilen automatisch generierten Codes enthalten. Ersetzen Sie dies durch den folgenden Code:
Private Sub UserForm_Activate() TextBox1.Text = ActiveCell.Formula End Sub
Private Sub btnSuper_Click() Dim intStart As Integer Dim intLength As Integer intLength = TextBox1.SelLength If intLength > 0 Then intStart = TextBox1.SelStart + 1 ActiveCell.Characters(intStart, intLength).Font.Superscript = True End If End Sub
Private Sub btnSub_Click() Dim intStart As Integer Dim intLength As Integer intLength = TextBox1.SelLength If intLength > 0 Then intStart = TextBox1.SelStart + 1 ActiveCell.Characters(intStart, intLength).Font.Subscript = True End If End Sub Private Sub btnExit_Click() Unload UserForm1 End Sub
Private Sub btnNormal_Click() Dim intStart As Integer Dim intLength As Integer intLength = TextBox1.SelLength If intLength > 0 Then intStart = TextBox1.SelStart + 1 ActiveCell.Characters(intStart, intLength).Font.Superscript = False ActiveCell.Characters(intStart, intLength).Font.Subscript = False End If End Sub
Schließen Sie das Codefenster für das Benutzerformular und das Formularfenster selbst. Sie müssen jetzt ein sehr kurzes Makro erstellen, das das tatsächliche Benutzerformular anzeigt. Dieses Makro wird wie jedes andere Excel-Makro erstellt und sollte folgendermaßen aussehen:
Sub DoForm() UserForm1.Show End Sub
Sie können jetzt das VBA-Editor-Fenster schließen. Um das Makro zu verwenden, wählen Sie die Zelle aus, die Sie bearbeiten möchten, und führen Sie dann das DoForm-Makro aus. Excel zeigt Ihr Benutzerformular an, das den Text in der ausgewählten Zelle enthält.
Sie können dann Text im Benutzerformular auswählen und die Schaltflächen (hochgestellt, tiefgestellt und normal) verwenden, um die Formatierung des tatsächlichen Zelleninhalts zu ändern. Das Makro wirkt sich auf den Inhalt der Zelle aus, nicht auf den Inhalt des Benutzerformulars. Daher ist es hilfreich, gleichzeitig die ausgewählte Zelle und das Benutzerformular auf dem Bildschirm sehen zu können.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (1945) gilt für Microsoft Excel 97, 2000, 2002 und 2003.