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
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:
Notera: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 har du tillämpa 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 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.
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:
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.
Förhindra att specialtecken kommer in
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
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för 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...
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 för dig varje dag!