Eingabe in Großbuchstaben erzwingen (Microsoft Excel)
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 Ihre Ä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) With Target If Not .HasFormula Then .Value = UCase(.Value) End If End With 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:
-
Zeigen Sie den VBA-Editor an, indem Sie Alt + F11 drücken.
-
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.)
-
Fügen Sie im Codefenster für das Arbeitsblatt das obige Makro ein.
-
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 .Value = UCase(.Value) 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 (2568) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: