Gå til hovedindhold

Hvordan forhindrer jeg specialtegn i Excel?

I nogle tilfælde vil vi bare indtaste bogstaver eller tal i celler og forhindre at indtaste specialtegnene, f.eks. @ # $% Og så videre. Er der nogen funktioner i Excel for at forhindre, at specialtegnene kommer ind, når vi indsætter værdier?

Undgå, at specialtegn kommer ind med datavalidering

Undgå, at specialtegn indtastes med VBA-kode

Undgå, at specialtegn kommer ind med Kutools til Excel god idé3


Undgå, at specialtegn kommer ind med datavalidering

Excel 'datavalidering kan hjælpe dig med kun at indtaste de alfanumeriske værdier. Gør følgende:

1. Vælg et område, som du vil forhindre, at specialtegnene indtastes.

2. Klik derefter på data > Datavalidering > Datavalidering, se skærmbillede:

doc-prevent-characters-1

3. I Datavalidering dialogboksen, klik Indstillinger fanebladet, og vælg Tilpasset fra Tillad rulleliste, og indtast derefter denne formel =ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))) ind i Formula tekstboks, se skærmbillede:

Bemærk:A1 angiver den første celle i dit valgte interval (fra venstre til højre).

doc-prevent-characters-1

4. Klik derefter på OK for at lukke denne dialog, og når du nu indtaster værdier, der indeholder specialtegnene i den angivne kolonne, har du anvendt indstillingen, får du følgende advarselsmeddelelse.

doc-prevent-characters-1


Undgå, at specialtegn indtastes med VBA-kode

Den følgende VBA-kode kan også hjælpe dig med at forhindre specialtegn, mens du indtaster tekstværdierne.

1. Hold nede ALT + F11 tasterne, og det åbner Vinduet Microsoft Visual Basic til applikationer.

2. Vælg derefter dit brugte regneark fra venstre Projekt Explorer, dobbeltklik på den for at åbne Moduler, og kopier og indsæt derefter følgende VBA-kode i det tomme felt Moduler:

VBA-kode: forhindrer specialtegn i Excel

Private Const FCheckRgAddress As String = "A1:A100"
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140905
    Dim xChanged As Range
    Dim xRg As Range
    Dim xString As String
    Dim sErrors As String
    Dim xRegExp As Variant
    Dim xHasErr As Boolean
    Set xChanged = Application.Intersect(Range(FCheckRgAddress), Target)
    If xChanged Is Nothing Then Exit Sub
    Set xRegExp = CreateObject("VBScript.RegExp")
    xRegExp.Global = True
    xRegExp.IgnoreCase = True
    xRegExp.Pattern = "[^0-9a-z]"
    For Each xRg In xChanged
        If xRegExp.Test(xRg.Value) Then
            xHasErr = True
            Application.EnableEvents = False
            xRg.ClearContents
            Application.EnableEvents = True
        End If
    Next
    If xHasErr Then MsgBox "These cells had invalid entries and have been cleared:"
End Sub

doc-prevent-characters-1

Bemærk: I ovenstående kode kan du ændre rækkevidden A1: A100 of Privat Const FCheckRgAddress As String = "A1: A100" script til dit eget interval, som du vil forhindre specialtegnene.

3. Gem og luk derefter denne kode, og når du indtaster tekstværdier med nogle specialtegn i området A1: A100, ryddes din værdi med det samme, og du kan få følgende advarselsmeddelelse.

doc-prevent-characters-1


Undgå, at specialtegn kommer ind med Kutools til Excel

Faktisk, hvis du har Kutools til Excel - et praktisk og multifunktionelt værktøj, du kan hurtigt forhindre at skrive specialtegn i et valg med dets Forhindre indtastning hjælpeprogram med en kontrol.

Kutools til Excel, med mere end 300 praktiske funktioner, der gør dine job lettere. 

Efter installation Kutools til Excel, gør venligst som nedenfor :(Gratis download Kutools til Excel nu!)

1. Vælg et valg, du vil forhindre, at specialtegn skriver, og klik på Kutools > Forhindre indtastning > Forhindre indtastning. Se skærmbillede:
doc forhindrer tegn 10

2. i Forhindre indtastning dialog, tjek Undgå at indtaste specialtegn mulighed. Se skærmbillede:
doc forhindrer tegn 7

3. klik Ok, og der vises en dialogboks for at minde dig om, at det vil fjerne datavalidering, hvis du anvender dette værktøj, og klik på Ja for at gå til næste dialog, vil det minde dig om, at værktøjet har arbejdet i sektionen. se skærmbillede:
doc forhindrer tegn 8

4. klik OK for at lukke dialogen, og fra nu af vises en advarselsdialog, når du prøver at indtaste et specialtegn i markeringen.
doc forhindrer tegn 9

Tip.Hvis du vil stoppe med at skrive duplikatværdier i en kolonne, så prøv at bruge Kutools til Excel Undgå duplikat som vist i det følgende skærmbillede. Det er fuld funktion uden begrænsning på 30 dage, download venligst og få en gratis prøveperiode nu.

doc forhindrer duplikat doc kutools forhindrer indtastning 2


Relaterede artikler:

Hvordan forhindres indtastning af værdier med mellemrum i Excel?

Hvordan undgår man duplikater i en kolonne i Excel?

Bedste kontorproduktivitetsværktøjer

Populære funktioner: Find, fremhæv eller identificer dubletter   |  Slet tomme rækker   |  Kombiner kolonner eller celler uden at miste data   |   Runde uden formel ...
Super opslag: VLookup med flere kriterier    Multiple Value VLookup  |   VOpslag på tværs af flere ark   |   Fuzzy Lookup ....
Avanceret rulleliste: Opret hurtigt rulleliste   |  Afhængig rulleliste   |  Multivælg rulleliste ....
Column Manager: Tilføj et bestemt antal kolonner  |  Flyt kolonner  |  Skift synlighedsstatus for skjulte kolonner  |  Sammenlign områder og kolonner ...
Fremhævede funktioner: Grid fokus   |  Designvisning   |   Stor Formel Bar    Arbejdsbog & Ark Manager   |  Ressourcebibliotek (Autotekst)   |  Datovælger   |  Kombiner regneark   |  Krypter/Dekrypter celler    Send e-mails efter liste   |  Superfilter   |   Specielt filter (filter fed/kursiv/gennemstreget...) ...
Top 15 værktøjssæt12 tekst Værktøj (tilføje tekst, Fjern tegn, ...)   |   50 + Chart Typer (Gantt kort, ...)   |   40+ Praktisk formler (Beregn alder baseret på fødselsdag, ...)   |   19 Indsættelse Værktøj (Indsæt QR-kode, Indsæt billede fra sti, ...)   |   12 Konvertering Værktøj (Tal til ord, Valutaomregning, ...)   |   7 Flet og del Værktøj (Avancerede kombinere rækker, Opdel celler, ...)   |   ... og mere

Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid.  Klik her for at få den funktion, du har mest brug for...

kte-fane 201905


Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
Comments (12)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Pessoal, segue formul em portugês com a quantidade de caracteres limitada a 7:

=E(ÉNÚM(SOMARPRODUTO(LOCALIZAR(EXT.TEXTO(A1;LIN(INDIRETO("1:"&NÚM.CARACT(A1)));1);"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ ")));NÚM.CARACT(A1)<8)
This comment was minimized by the moderator on the site
Excelente solucion. como agregas las comillas (") para que sean admitidas?
This comment was minimized by the moderator on the site
Hello herber,

Glad to help. Using the first method, you can use this formula in data validation:
=ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"&CHAR(34))))

The CHAR function takes the ASCII value and returns the corresponding character value. The ASCII value for a double quote is 34. So a double quote will be allowed. Please have a try.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
How to repeat this in other columns?
This comment was minimized by the moderator on the site
When I use your VBA code in excel 2013 it will open up debug option and freezes
This comment was minimized by the moderator on the site
Hi, WilY, if it pops out a dialog as below screenshot shown, just click Yes then OK to enable the code. This issue appears in Excel 2016, too.
This comment was minimized by the moderator on the site
What if i need to prevent in a single cell typing certain characters in combination with length of the text?

For example, i want to prevent the text to be between 5-16 caharacters in comination with certain character prevention? Any advice?
This comment was minimized by the moderator on the site
Maybe you can try the Data Validation function to limit the text length. See screenshot:
This comment was minimized by the moderator on the site
The solution with Data Validation is almost perfect. But I'm able to put "*" character the such protected field. Any advice? Many thanks Pavel
This comment was minimized by the moderator on the site
Instead of SEARCH function try using FIND: =ISNUMBER(SUMPRODUCT(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")))
This comment was minimized by the moderator on the site
how to set length limit ? i mean if i want to set only 12 character or number
This comment was minimized by the moderator on the site
Hello, raj,
To solve your problem, please apply the below formula:
=AND(ISNUMBER(SUMPRODUCT(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))),LEN(A1)=12)


Please have a try, hope it can help you!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations