Note: The other languages of the website are Google-translated. Back to English
Zaloguj Się  \/ 
x
or
x
Zarejestruj się  \/ 
x

or

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 Statystyki i dane > Walidacja danych > Walidacja danychzobacz zrzut ekranu:

doc-Prevent-characters-1

3, w Walidacja danych okno dialogowe, kliknij Ustawienia kartę i wybierz zwyczaj 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

Uwagi: 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.

Kutools dla programu Excel, ponad 300 przydatne funkcje, ułatwiają pracę. 

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

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2019 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowy bezpłatny okres próbny. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

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ęć myszą każdego dnia!
officetab dół
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")))