Przejdź do głównej zawartości

Jak zapobiec wprowadzaniu znaków specjalnych do programu Excel?

W niektórych przypadkach chcemy po prostu wpisywać litery lub cyfry w komórkach i zapobiegać wpisywaniu znaków specjalnych, takich jak @ # $% & i tak dalej. Czy w programie Excel są jakieś funkcje zapobiegające wprowadzaniu znaków specjalnych podczas wstawiania wartości?

Zapobiegaj wprowadzaniu znaków specjalnych za pomocą sprawdzania poprawności danych

Zapobiegaj wprowadzaniu znaków specjalnych za pomocą kodu VBA

Zapobiegaj wprowadzaniu znaków specjalnych za pomocą Kutools for Excel dobry pomysł 3


Zapobiegaj wprowadzaniu znaków specjalnych za pomocą sprawdzania poprawności danych

Sprawdzanie poprawności danych programu Excel może pomóc w umożliwieniu tylko wprowadzania wartości alfanumerycznych. Wykonaj następujące czynności:

1. Wybierz zakres, w którym nie chcesz wprowadzać znaków specjalnych.

2. Następnie kliknij Dane > Walidacja danych > Walidacja danychzobacz zrzut ekranu:

doc-Prevent-characters-1

3, w Walidacja danych okno dialogowe, kliknij Ustawienia kartę i wybierz Zamówienia Indywidualne z Dopuszczać rozwijanej listy, a następnie wprowadź tę formułę =ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))) do Formuła pole tekstowe, patrz zrzut ekranu:

Uwaga:A1 wskazuje pierwszą komórkę wybranego zakresu (od lewej do prawej).

doc-Prevent-characters-1

4. Następnie kliknij OK aby zamknąć to okno dialogowe, a teraz, kiedy wprowadzisz wartości zawierające znaki specjalne w określonej kolumnie, zastosujesz opcję, otrzymasz następujący komunikat ostrzegawczy.

doc-Prevent-characters-1


Zapobiegaj wprowadzaniu znaków specjalnych za pomocą kodu VBA

Poniższy kod VBA może również pomóc w zapobieganiu znakom specjalnym podczas wprowadzania wartości tekstowych.

1. Przytrzymaj ALT + F11 klucze i otwiera plik Okno Microsoft Visual Basic for Applications.

2. Następnie wybierz używany arkusz roboczy po lewej stronie Eksplorator projektówkliknij go dwukrotnie, aby otworzyć plik Moduł, a następnie skopiuj i wklej następujący kod VBA w puste miejsce Moduł:

Kod VBA: zapobiegaj wprowadzaniu znaków specjalnych w programie 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

Note: W powyższym kodzie możesz zmienić zakres A1: A100 of Private Const FCheckRgAddress As String = "A1: A100" skryptu do własnego zakresu, w którym chcesz uniknąć znaków specjalnych.

3. Następnie zapisz i zamknij ten kod, a teraz, gdy wprowadzisz wartości tekstowe z kilkoma znakami specjalnymi z zakresu A1: A100, twoja wartość zostanie natychmiast wyczyszczona i możesz otrzymać następujący komunikat ostrzegawczy.

doc-Prevent-characters-1


Zapobiegaj wprowadzaniu znaków specjalnych za pomocą Kutools for Excel

Właściwie, jeśli masz Kutools dla programu Excel - poręczne i wielofunkcyjne narzędzie, które pozwala szybko uniemożliwić wpisywanie znaków specjalnych w zaznaczeniu Zapobiegaj pisaniu użyteczność jednym sprawdzeniem.

Po zainstalowaniu Kutools dla programu Excel, wykonaj poniższe czynności :(Bezpłatne pobieranie Kutools dla programu Excel teraz!)

1. Wybierz zaznaczenie, w którym nie chcesz wpisywać znaków specjalnych, i kliknij Kutools > Zapobiegaj pisaniu > Zapobiegaj pisaniu. Zobacz zrzut ekranu:
doc zapobiega znakom 10

2. w Zapobiegaj pisaniu okno dialogowe, sprawdź Zapobiegaj wpisywaniu znaków specjalnych opcja. Zobacz zrzut ekranu:
doc zapobiega znakom 7

3. kliknij Oki pojawi się okno dialogowe przypominające, że jeśli zastosujesz to narzędzie, usunie się sprawdzanie poprawności danych i kliknij Tak aby przejść do następnego okna dialogowego, przypomni Ci, że narzędzie zostało uruchomione w sekcji. zobacz zrzut ekranu:
doc zapobiega znakom 8

4. kliknij OK aby zamknąć okno dialogowe i od tej chwili przy próbie wprowadzenia znaku specjalnego w zaznaczeniu wyskakuje okno dialogowe z ostrzeżeniem.
doc zapobiega znakom 9

Wskazówka.Jeśli chcesz przestać wpisywać zduplikowane wartości w kolumnie, spróbuj użyć Kutools dla programu Excel Zapobiegaj duplikowaniu jak pokazano na poniższym zrzucie ekranu. Pełna funkcjonalność bez ograniczeń w 30 dni, pobierz i wypróbuj teraz bezpłatną wersję próbną.

doc zapobiega duplikowaniu doc kutools zapobiegają pisaniu 2


Podobne artykuły:

Jak zapobiec wprowadzaniu wartości ze spacjami w programie Excel?

Jak zapobiec duplikowaniu wpisów w kolumnie w programie Excel?

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
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