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 matas in med Kutools for Excel
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:
3. I Datagransknings dialogrutan, klicka Inställningar fliken och välj Custom 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:
Obs: A1 anger den första cellen i det valda intervallet (från vänster till höger).
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 där du använde alternativet, får du följande varningsmeddelande.
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
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 denna kod. När du nu anger textvärden med specialtecken i intervallet A1:A100, raderas inmatningen omedelbart och du kommer att få följande varningsmeddelande.
Förhindra att specialtecken matas in med Kutools for Excel
Egentligen, om du har Kutools for 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.
När du har installerat Kutools for Excel, gör enligt nedan:
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:
2. I Förhindra skrivning dialogrutan, kontrollera Förhindra att du skriver in specialtecken alternativ. Se skärmdump:
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:
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.
Kutools for Excel - Superladda Excel med över 300 viktiga verktyg. Njut av permanent gratis AI-funktioner! Hämta den nu
Demo: Förhindra inmatning av specialtecken med hjälp av Kutools for Excel
Relaterade artiklar:
Hur förhindrar man att ange värden med mellanslag i Excel?
Hur förhindrar man dubbletter i en kolumn i Excel?
Bästa kontorsproduktivitetsverktyg
Boosta dina Excel-kunskaper med Kutools for Exceloch upplev effektivitet som aldrig förr. Kutools for Excel Erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Office Tab Få ett flikargrä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 för dig varje dag!