Wenn Sie ein Arbeitsblatt entwickeln, das andere verwenden können, möchten Sie möglicherweise, dass diese Informationen immer in Großbuchstaben eingeben. Excel bietet eine Arbeitsblattfunktion, mit der Sie Informationen in Großbuchstaben konvertieren können. Sie gilt jedoch nicht, da Personen tatsächlich Informationen eingeben. Wenn beispielsweise jemand Informationen in Zelle B6 eingibt, kann die Arbeitsblattfunktion nicht zum Konvertieren der Informationen in B6 in Großbuchstaben verwendet werden.

Stattdessen müssen Sie ein Makro verwenden, um die Änderungen für Sie vorzunehmen. Beim Programmieren in VBA können Sie Excel zwingen, ein bestimmtes Makro auszuführen, wenn in einer Arbeitsblattzelle Änderungen vorgenommen werden. Das folgende Makro kann verwendet werden, um alle Arbeitsblatteingaben in Großbuchstaben umzuwandeln:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.HasFormula Then Exit Sub         Application.EnableEvents = False         Target = UCase(Target.Cells(1))

Application.EnableEvents = True End Sub

Damit das Makro funktioniert, muss es jedoch an einer bestimmten Stelle eingegeben werden.

Führen Sie die folgenden Schritte aus, um das Makro zu platzieren:

  1. Zeigen Sie den VBA-Editor an, indem Sie Alt + F11 drücken.

  2. Doppelklicken Sie im Projektfenster auf der linken Seite des Editors auf den Namen des verwendeten Arbeitsblatts. (Möglicherweise müssen Sie zuerst den VBAProject-Ordner und dann den Microsoft Excel Objects-Ordner darunter öffnen.)

  3. Fügen Sie im Codefenster für das Arbeitsblatt das obige Makro ein.

  4. Schließen Sie den VBA-Editor.

Jetzt wird alles (außer Formeln), das in eine Zelle des Arbeitsblatts eingegeben wird, automatisch in Großbuchstaben konvertiert. Wenn Sie nicht möchten, dass alles konvertiert wird, sondern nur Zellen in einem bestimmten Bereich des Arbeitsblatts, können Sie das Makro geringfügig ändern:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not (Application.Intersect(Target, Range("A1:B10")) _       Is Nothing) Then         With Target             If Not .HasFormula Then                 Application.EnableEvents = False                 .Value = UCase(.Value)

Application.EnableEvents = True             End If         End With     End If End Sub

In diesem Beispiel wird nur der in die Zellen A1: B10 eingegebene Text konvertiert. alles andere bleibt wie eingegeben. Wenn Sie einen anderen Bereich konvertieren müssen, geben Sie diesen Bereich in der zweiten Zeile des Makros an.

_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 (9813) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365. Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: