Note: The other languages of the website are Google-translated. Back to English
Logga in  \/ 
x
or
x
Registrera  \/ 
x

or

Hur förhindrar man att specialtecken kommer in i Excel?

I vissa fall vill vi bara ange bokstäver eller siffror i celler och förhindra att specialtecken skrivs, som @ # $% & så vidare. Finns det några funktioner i Excel för att förhindra att specialtecken matas in när vi sätter in värden?

Förhindra att specialtecken kommer in med datavalidering

Förhindra att specialtecken kommer in med VBA-kod

Förhindra att specialtecken kommer in med Kutools för Excel bra idé3


Förhindra att specialtecken kommer in med datavalidering

Excel 'Data Validation kan hjälpa dig att bara ange de alfanumeriska värdena. Gör så här:

1. Välj ett område som du vill förhindra att specialtecken matas in.

2. Klicka sedan Data > Datagransknings > Datagransknings, se skärmdump:

doc-prevent-characters-1

3. I Datagransknings dialogrutan, klicka inställningar fliken och välj anpassad från Tillåt rullgardinsmeny och ange sedan denna formel =ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))) i Formel textruta, se skärmdump:

Notera:A1 anger den första cellen i det valda intervallet (från vänster till höger).

doc-prevent-characters-1

4. Klicka sedan OK för att stänga den här dialogrutan och nu när du anger värden som innehåller specialtecken i den angivna kolumnen har du tillämpa alternativet får du följande varningsmeddelande.

doc-prevent-characters-1


Förhindra att specialtecken kommer in med VBA-kod

Följande VBA-kod kan också hjälpa dig att förhindra specialtecken när du anger textvärden.

1. Håll ner ALT + F11 knapparna och det öppnar Microsoft Visual Basic for Applications-fönstret.

2. Välj sedan ditt använda kalkylblad från vänster Project Explorerdubbelklicka på den för att öppna Modulernaoch sedan kopiera och klistra in följande VBA-kod i tomt Modulerna:

VBA-kod: förhindra att specialtecken kommer in 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

Anmärkningar: I koden ovan kan du ändra intervallet A1: A100 of Privat Const FCheckRgAddress As String = "A1: A100" skript till ditt eget intervall som du vill förhindra specialtecken.

3. Spara och stäng sedan den här koden, och nu när du anger textvärden med några specialtecken i intervallet A1: A100 kommer ditt värde att rensas omedelbart och du kan få följande varningsmeddelande.

doc-prevent-characters-1


Förhindra att specialtecken kommer in med Kutools för Excel

Egentligen, om du har Kutools för Excel - ett praktiskt och multifunktionellt verktyg, du kan snabbt förhindra att skriva specialtecken i ett urval med dess Förhindra skrivning med en kontroll.

Kutools för Excel, med mer än 300 praktiska funktioner, gör dina jobb enklare. 

När du har installerat Kutools för Excel, gör så här :(Gratis nedladdning Kutools för Excel nu!)

1. Välj ett val som du vill förhindra att specialtecken skriver och klicka på Kutools > Förhindra skrivning > Förhindra skrivning. Se skärmdump:
doc förhindra tecken 10

2. I Förhindra skrivning dialogrutan, kontrollera Förhindra att du skriver in specialtecken alternativ. Se skärmdump:
doc förhindra tecken 7

3. klick Ok, och en dialog dyker upp för att påminna dig om att det tar bort datavalidering om du använder detta verktyg och klickar på Ja för att gå till nästa dialog kommer det att påminna dig om att verktyget har arbetat i avsnittet. se skärmdump:
doc förhindra tecken 8

4. klick OK för att stänga dialogen och från och med nu dyker det upp en varningsdialog när du försöker ange ett specialtecken i valet.
doc förhindra tecken 9

Tips.Om du vill sluta skriva dubbla värden i en kolumn, försök att använda Kutools för Excel Förhindra duplicering som visas i följande skärmdump. Det är full funktion utan begränsning på 30 dagar, vänligen ladda ner och få en gratis provperiod nu.

doc förhindrar duplikat doc kutools förhindrar att skriva 2


Relaterade artiklar:

Hur förhindrar man att ange värden med mellanslag i Excel?

Hur förhindrar man dubbletter i en kolumn i Excel?


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2019 och 365. Stöder alla språk. Enkel distribution i ditt företag eller organisation. Fullständiga funktioner 30-dagars gratis provperiod. 60-dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50% och minskar hundratals musklick åt dig varje dag!
officetab botten
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    WilExcel · 1 years ago
    When I use your VBA code in excel 2013 it will open up debug option and freezes
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      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.
  • To post as a guest, your comment is unpublished.
    Milan · 3 years ago
    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?
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      Maybe you can try the Data Validation function to limit the text length. See screenshot:
  • To post as a guest, your comment is unpublished.
    Pavel · 5 years ago
    The solution with Data Validation is almost perfect. But I'm able to put "*" character the such protected field. Any advice?
    Many thanks
    Pavel
    • To post as a guest, your comment is unpublished.
      unknown · 3 years ago
      Instead of SEARCH function try using FIND: =ISNUMBER(SUMPRODUCT(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")))