Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mit Regex Überprüfung Excel Zellen

Mit Regex Überprüfung Excel Zellen
01.12.2020 18:06:59
Lele
Guten Tag,
ich habe eine Excel Tabelle und ich möchte in einer Zeile sicherstellen, dass nur Zahlen von 1-9 eingegeben werden (regulärer Ausdruck: ^([1-9]{1}|1[0]{1})$ )
Gibt es die Möglichkeit die Excel Zellen mit diesem regulären Ausdruck zu überprüfen, sodass die Zellen, die diesem Format nicht entsprechen z.B. rot gefärbt werden?
Meine Vermutung ist, dass es sich mit Visual Basics und Microsoft VBScript Regular Expressions 5.5 umsetzen lässt. Aber da ich mich auch mit Visual Basics nicht besonders gut auskenne, ist es mir bisher leider nicht gelungen.
Über Unterstützung würde ich mich sehr freuen.
Vielen Dank und freundliche Grüße
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit Regex Überprüfung Excel Zellen
01.12.2020 18:39:44
ChrisL
Hi Lele
Ohne VBA bzw. Regex geht es nicht. Du kannst eine generische Funktion in ein Standardmodul kopieren z.B.
https://www.vba-tutorial.de/applikation/regexp.htm
Lässt sich danach auch als Tabellenfunktion verwenden:
=vergleiche("Mayer"; "Ma.er")
Falls ich richtig interpretiere, suchst du eine Prüfung für Ganzzahl von 1-10 (nicht 9).
^([1-9]{1}|10)$
Dafür sollte sich auch rasch eine Formel finden lassen, die sich in einer bedingten Formatierung verwenden lässt.
Noch besser wäre die Gültigkeitsprüfung zu verwenden, so dass es gar nicht zu Fehleingaben kommt.
cu
Chris
Anzeige
AW: Mit Regex Überprüfung Excel Zellen
01.12.2020 18:45:18
ChrisL
den ersten Satz möchte ich präzisieren :)
Ohne VBA kannst du RegEx nicht verwenden. Aber im vorliegenden Fall braucht es nicht zwingend RegEx.
AW: Mit Regex Überprüfung Excel Zellen
01.12.2020 18:41:50
Nepumuk
Hallo Lele,
so funktioniert RegEx nicht.
Das kannst du viel einfacher haben.
Zeile markieren - Register Daten - Gruppe Datentools - Datenüberprüfung - unter Zulassen wählst du "Ganze Zahl" als Minimum 1 als Maximum 9 - OK - fertig.
Gruß
Nepumuk
Anzeige
AW: Mit Regex Überprüfung Excel Zellen
01.12.2020 19:45:18
Yal
Hallo Lele,
richtig erkannt: Du muss die Bib Microsoft VBScript Regular Expressions im Visual Basic Editor über Extras>>Verweise einbinden.
Eine User Defined Function (UDF), die Du genau wie eine Excel-Funktion verwenden kannst, würde so aussehen (muss in einem Modul stehen, nicht im Tabelle- oder Arbeitsmappe-Code):
Public Function RegMatcher(Expression As String, Pattern As String) As Boolean
Dim R As New RegExp
R.Pattern = Pattern
RegMatcher = R.test(Expression)
Set R = Nothing
End Function
dann, entweder in einer Zelle oder in einer bedingte Formatierung:
=RegMatcher(A1;"^([1-9]|10)$")
Viel Erfolg
Yal
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Mit Regex Zellen in Excel überprüfen


Schritt-für-Schritt-Anleitung

Um Zellen in Excel mit einem regulären Ausdruck (Regex) zu überprüfen und diese gegebenenfalls rot zu färben, musst du einige Schritte im Visual Basic for Applications (VBA) Editor durchführen. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsx)“ und wähle Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Public Function RegMatcher(Expression As String, Pattern As String) As Boolean
       Dim R As New RegExp
       R.Pattern = Pattern
       RegMatcher = R.test(Expression)
       Set R = Nothing
    End Function
  4. Schließe den VBA-Editor: Schließe das Fenster, um zurück zu Excel zu gelangen.

  5. Verwende die Funktion in einer Zelle: In einer Zelle kannst du nun die Funktion RegMatcher verwenden. Zum Beispiel:

    =RegMatcher(A1; "^([1-9]|10)$")
  6. Bedingte Formatierung hinzufügen: Markiere die Zelle oder den Zellbereich, gehe zu Start > Bedingte Formatierung > Neue Regel, wähle „Formel zur Ermittlung der zu formatierenden Zellen verwenden“ und gib die Formel ein, z.B. =NOT(RegMatcher(A1; "^([1-9]|10)$")), und wähle die gewünschte Formatierung (z.B. rote Füllung).


Häufige Fehler und Lösungen

  • Fehler: Funktion nicht gefunden
    Lösung: Stelle sicher, dass du den Code korrekt in ein Modul eingefügt hast und dass du die richtige Syntax verwendest.

  • Fehler: Zelle wird nicht rot gefärbt
    Lösung: Überprüfe die Formel für die bedingte Formatierung, insbesondere die Referenz zur Zelle.

  • Regex funktioniert nicht
    Lösung: Vergewissere dich, dass die Microsoft VBScript Regular Expressions 5.5-Bibliothek im VBA-Editor unter Extras > Verweise aktiviert ist.


Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du auch die integrierte Datenüberprüfung in Excel nutzen:

  1. Zelle(n) markieren: Wähle die Zelle oder den Zellbereich aus, den du überprüfen möchtest.
  2. Datenüberprüfung auswählen: Gehe zu Daten > Datenüberprüfung.
  3. Einstellungen festlegen: Wähle „Ganze Zahl“ und setze Minimum auf 1 und Maximum auf 9.
  4. Bestätigen: Klicke auf OK, um die Datenüberprüfung zu aktivieren.

Diese Methode verwendet keine regulären Ausdrücke, ist aber einfacher und effizienter für einfache Validierungen.


Praktische Beispiele

  • Beispiel 1: Überprüfe, ob eine Zahl zwischen 1 und 10 liegt:

    =RegMatcher(B1; "^([1-9]|10)$")
  • Beispiel 2: Verwende in der bedingten Formatierung:

    =NOT(RegMatcher(C1; "^[1-9]$"))
  • Beispiel 3: Färbe die Zelle rot, wenn die Eingabe nicht den Regex-Vorgaben entspricht.


Tipps für Profis

  • Nutze die Regex Excel Funktionen mit Bedacht, da sie die Leistung beeinträchtigen können, wenn sie über große Datenmengen angewendet werden.
  • Experimentiere mit verschiedenen regulären Ausdrücken, um komplexe Validierungen durchzuführen, wie z.B. das Überprüfen auf spezifische Formate oder Muster.
  • Halte deine VBA-Module organisiert, um die Wartung zu erleichtern.

FAQ: Häufige Fragen

1. Was sind reguläre Ausdrücke in Excel?
Reguläre Ausdrücke sind Muster, die verwendet werden, um Zeichenfolgen zu suchen, zu vergleichen und zu validieren. In Excel benötigst du dafür VBA.

2. Kann ich Regex ohne VBA verwenden?
Ja, für einfache Validierungen kannst du die integrierte Datenüberprüfung nutzen, aber für komplexere Regex-Suchen ist VBA erforderlich.

3. Wie aktiviere ich die Microsoft VBScript Regular Expressions 5.5-Bibliothek?
Gehe im VBA-Editor zu Extras > Verweise und aktiviere die Bibliothek, um Regex in Excel zu nutzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige