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

Forumthread: Sonderzeichen verhindern ohne VBA möglich ?

Sonderzeichen verhindern ohne VBA möglich ?
chris
Hallo Forumsbesucher und Excelspezialisten.
Ich denke die frage ist sicher schon öfter aufgetaucht.
Finde aber keine Passende lösung :(
ICh suche eine möglichkeit mit der ich in einer Zelle nur text oder zahlen schreiben kann.
Da diese Zelle im VBA für den Dateinamen der Datei benötigt wird und wenn darin sonderzeichen vorhanden sind kommt ein fehler weil man im Explorer keine Sonderzeichen im Dateinamen verwenden darf.
Deshalb bitte ich euch um Hilfe.
Git es möglichkeit im oder auch ohne VBA ?
Wäre für beide Lösungen auch sehr dankbar.
gruß Chris
Anzeige
AW: Sonderzeichen verhindern ohne VBA möglich ?
09.02.2010 14:48:23
Peter
Hallo Chris,
versuch es doch mit Daten - Gültigkeit
Gruß Peter
AW: Aber wie
09.02.2010 14:58:42
chris
Ja das habe ich schon.
Aber darüber geht es nicht.
Oder ich weiß nicht wie ich das tun soll das er alle anderen zeichen ausser Sonderzeichen erlaubt ?
Danke für Die Hilfe
AW: Sonderzeichen verhindern ohne VBA möglich ?
09.02.2010 15:18:50
Rudi
Hallo,
dann prüf doch einfach mit Dir(), ob die Datei existiert.
Gruß
Rudi
Anzeige
AW: Sonderzeichen verhindern ohne VBA möglich ?
09.02.2010 16:24:41
chris
Was hat das mit meiner frage zu tun ?
Ich möchte doch nur eine Funktion oder ein makro das verhindert sonderzeichen in eine zelle einzugeben :(
Vielleicht weiß noch jemand Rat ?
Vielen dank dafür im voraus !
Bisschen weit hergeholt u.rekombiniert, Rudi ;-)
09.02.2010 16:40:21
Luc:-?
Gruß Luc :-?
Gültige Zeichen : Funktion für Daten - Gültigkeit
09.02.2010 16:39:31
NoNet
Hallo Chris,
das kannst Du per "Daten - Gültigkeit" für die Zelle festlegen.
Wenn es sich z.B. um die Zelle F1 handelt, dann
- klicke die Zelle an
- Wähle im Menü "Daten - Gültigkeit"
- "Zulassen" : Benutzerdefiniert
- "Formel" : =SUMMENPRODUKT(ISTZAHL(SUCHEN(TEIL(F1;ZEILE(INDIREKT("1:"&LÄNGE(F1)));1);"abcdefghijklmnopqrstuvwxyz 0123456789"))*1)=LÄNGE(F1)
Im Register "Eingabemeldung" kannst Du noch einen Hinweis eingeben, der angezeigt wird, wenn man auf die Zelle klickt (z.B.: "Bitte nur Ziffern und Buchstaben eingeben !", im Register "Fehlermeldung" kannst Du noch eine eigene Fehlermeldung eingeben, die erscheint, wenn jemand ungültige Zeichen eingegeben hat (z.B. "Bitte keine ungültigen Zeichen eingeben, sondern nur Buchstaben von A-Z, Leerzeichen oder Ziffern 0-9 !"). Das STOP-Symbol darfst Du NICHT verändern !
Die GÜLTIGEN Zeichen (abcdefghijklmnopqrstuvwxyz 0123456789) kannst Du in der Funktion oben beliebig anpassen (z.B. Leerzeichen löschen oder Umlaute hinzufügen etc.).
Mit SUCHEN(...) legst Du fest, dass sowohl GROSS- wie auch Kleinbuchstaben eingegeben werden dürfen, mit FINDEN(..) anstelle von SUCHEN(...) kannst Du festlegen, dass die Eingabe exakt in den bustaben (GROSS- oder Kleinbuchstaben) erfolgen muss wie in den "Gütligen Zeichen" festgelegt.
Gruß, NoNet
Anzeige
AW: Gültige Zeichen : Funktion für Daten - Gültigkeit
09.02.2010 21:36:17
chris
Boa Prima NoNet.
Danke vielmals und schönen Abend !
mit VBA und Vbscript.Regexp
09.02.2010 17:26:29
Tino
Hallo,
mit VBA kannst Du mal sowas testen.
kommt als Code in Tabelle1
Option Explicit 
 
Private Sub Worksheet_Change(ByVal Target As Range) 
Dim RegEx As Object 
Dim strText As String 
 
With Range("A2") 'Zelle anpassen 
    If Not Intersect(.Cells, Target) Is Nothing Then 
        Set RegEx = CreateObject("Vbscript.Regexp") 
        strText = .Value 
        With RegEx 
            .IgnoreCase = True 
            .MultiLine = True 
            .Pattern = "[^0-9 a-zäöüß]" 'erlaubte Zeichen 
            .Global = True 
            strText = .Replace(strText, "") 
        End With 
             
        If Len(strText) < Len(.Value) Then 
            Application.EnableEvents = False 
                MsgBox "Es sind keine Sonderzeicher erlaubt" & vbCr & _
                       "Sonderzeichen werden gelöscht!", vbCritical 
                  
                .Value = strText 
            Application.EnableEvents = True 
        End If 
         
         
    End If 
End With 
End Sub 
 
Gruß Tino
Anzeige
AW: mit VBA und Vbscript.Regexp
09.02.2010 21:34:02
chris
Boa super,
werde ich morgen mal testen.
Aber denke wie immer das es klappt.
Schönen Abend noch Tino !
;
Anzeige
Anzeige

Infobox / Tutorial

Sonderzeichen in Excel verhindern – So geht's!


Schritt-für-Schritt-Anleitung

Um in Excel sicherzustellen, dass in einer Zelle keine Sonderzeichen eingegeben werden, kannst Du die Funktion "Daten - Gültigkeit" nutzen. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Wähle die Zelle aus, in der Du keine Sonderzeichen erlauben möchtest (z.B. Zelle F1).
  2. Gehe zum Menü "Daten" und wähle "Daten - Gültigkeit".
  3. Setze unter "Zulassen" die Auswahl auf Benutzerdefiniert.
  4. Gib folgende Formel ein:
    =SUMMENPRODUKT(ISTZAHL(SUCHEN(TEIL(F1;ZEILE(INDIREKT("1:"&LÄNGE(F1)));1);"abcdefghijklmnopqrstuvwxyz 0123456789"))*1)=LÄNGE(F1)
  5. Im Register "Eingabemeldung" kannst Du einen Hinweis für die Nutzer eingeben, z.B. "Bitte nur Ziffern und Buchstaben eingeben!".
  6. Im Register "Fehlermeldung" kannst Du eine eigene Nachricht hinzufügen, die erscheint, wenn ungültige Zeichen eingegeben werden (z.B. "Bitte keine ungültigen Zeichen eingeben!").

Mit dieser Methode kannst Du effektiv Sonderzeichen in Excel verhindern.


Häufige Fehler und Lösungen

  • Problem: Die Formel funktioniert nicht wie erwartet.

    • Lösung: Überprüfe, ob Du die Formel korrekt eingegeben hast. Achte darauf, dass die Zellenbezüge stimmen.
  • Problem: Benutzer geben dennoch Sonderzeichen ein.

    • Lösung: Stelle sicher, dass die Zelle, auf die Du die Gültigkeit anwendest, korrekt ausgewählt ist.

Alternative Methoden

Falls Du VBA verwenden möchtest, um Sonderzeichen in Excel zu verhindern, kannst Du folgenden Code verwenden. Dieser wird in das entsprechende Tabellenblatt eingefügt:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim RegEx As Object
    Dim strText As String

    With Range("A2") ' Zelle anpassen
        If Not Intersect(.Cells, Target) Is Nothing Then
            Set RegEx = CreateObject("Vbscript.Regexp")
            strText = .Value
            With RegEx
                .IgnoreCase = True
                .Pattern = "[^0-9 a-zäöüß]" ' erlaubte Zeichen
                .Global = True
                strText = .Replace(strText, "")
            End With

            If Len(strText) < Len(.Value) Then
                Application.EnableEvents = False
                MsgBox "Es sind keine Sonderzeichen erlaubt" & vbCr & _
                       "Sonderzeichen werden gelöscht!", vbCritical
                .Value = strText
                Application.EnableEvents = True
            End If
        End If
    End With
End Sub

Dieser Code überprüft die Eingabe in Zelle A2 und entfernt alle Sonderzeichen.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du die oben genannten Methoden anwenden kannst:

  • Beispiel 1: Du möchtest, dass in der Zelle F1 nur alphanumerische Zeichen eingegeben werden. Verwende die Formel aus der Schritt-für-Schritt-Anleitung.

  • Beispiel 2: Du hast eine Liste von Dateinamen und möchtest sicherstellen, dass diese keine Sonderzeichen enthalten. Verwende den VBA-Code, um Eingaben in der entsprechenden Zelle zu überwachen.


Tipps für Profis

  • Nutze den VBA-Code, wenn Du eine dynamische Lösung benötigst, die sofort auf Änderungen reagiert.
  • Überlege, ob Du die Eingabemeldung zusätzlich anpassen möchtest, um spezifische Hinweise für die Benutzer zu geben.
  • Verwende die Excel-Funktion für Datenüberprüfung nicht nur für Text, sondern auch für Zahlen, um vollständige Kontrolle über die Eingaben zu haben.

FAQ: Häufige Fragen

1. Kann ich auch Sonderzeichen wie # oder $ zulassen?
Ja, Du kannst die Formel oder den VBA-Code anpassen, um spezifische Zeichen zuzulassen. Füge dazu die gewünschten Zeichen in die erlaubte Zeichenliste ein.

2. Welche Excel-Version benötige ich für die Datenvalidierung?
Die Datenvalidierungsfunktion ist in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010 und später.

3. Was passiert, wenn ich die Gültigkeitsprüfung entferne?
Wenn Du die Gültigkeitsprüfung entfernst, können Benutzer beliebige Zeichen eingeben, einschließlich Sonderzeichen.

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