Note: The other languages of the website are Google-translated. Back to English
ログイン  \/ 
x
or
x
今すぐ登録  \/ 
x

or

Excelに特殊文字が入力されないようにするにはどうすればよいですか?

場合によっては、セルに文字や数字を入力し、@#$%&などの特殊文字を入力しないようにする必要があります。 値を挿入するときに特殊文字が入力されないようにする関数はExcelにありますか?

データ検証で特殊文字が入力されないようにする

VBAコードで特殊文字が入力されないようにする

Kutools forExcelで特殊文字が入力されないようにする 良いアイデア3


データ検証で特殊文字が入力されないようにする

Excelのデータ検証は、英数字の値のみを入力できるようにするのに役立ちます。 次のようにしてください。

1。 特殊文字が入力されないようにする範囲を選択します。

2。 次に、をクリックします 且つ > データ検証 > データ検証、スクリーンショットを参照してください:

doc-prevent-characters-1

3。 の中に データ検証 ダイアログボックスで、をクリックします。 設定 タブを選択して カスタム から 許可する ドロップダウンリスト、次にこの式を入力します =ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))) テキストボックス、スクリーンショットを参照:

注意:A1 選択した範囲の最初のセルを示します(左から右へ)。

doc-prevent-characters-1

4。 次に、をクリックします OK このダイアログを閉じるには、オプションを適用した指定の列に特殊文字を含む値を入力すると、次の警告メッセージが表示されます。

doc-prevent-characters-1


VBAコードで特殊文字が入力されないようにする

次のVBAコードは、テキスト値の入力中に特殊文字を防ぐのにも役立ちます。

1。 を押し続けます Alt + F11 キー、そしてそれは開きます Microsoft Visual Basic forApplicationsウィンドウ.

2. 次に、左から使用済みのワークシートを選択します プロジェクトエクスプローラー、ダブルクリックして開きます モジュール、次に次のVBAコードをコピーして空白に貼り付けます モジュール:

VBAコード: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

注意:上記のコードでは、範囲を変更できます A1:A100 of Private Const FCheckRgAddress As String = "A1:A100" 特殊文字を防止したい独自の範囲のスクリプト。

3。 次に、このコードを保存して閉じます。ここで、A1:A100の範囲の特殊文字を含むテキスト値を入力すると、値がすぐにクリアされ、次の警告メッセージが表示されます。

doc-prevent-characters-1


Kutools forExcelで特殊文字が入力されないようにする

実は Kutools for Excel -便利で多機能なツールで、選択範囲に特殊文字を入力するのをすばやく防ぐことができます。 入力を防ぐ XNUMX回のチェックでユーティリティ。

Kutools for Excel, 以上で 300 便利な機能は、あなたの仕事をより簡単にします。 

インストールした後 Kutools for Excel、以下のようにしてください:(今すぐExcel用のKutoolsを無料でダウンロードしてください!)

1.特殊文字の入力を禁止する選択肢を選択し、をクリックします クツール > 入力を防ぐ > 入力を防ぐ。 スクリーンショットを参照してください:
doc防止文字10

2。 の中に 入力を防ぐ ダイアログ、チェック 特殊文字の入力を防止する オプション。 スクリーンショットを参照してください:
doc防止文字7

3。 クリック Ok、ダイアログが表示され、このユーティリティを適用してクリックすると、データ検証が削除されることを通知します。 あり 次のダイアログに進むと、ユーティリティがそのセクションで機能していることが通知されます。 スクリーンショットを参照してください:
doc防止文字8

4。 クリック OK ダイアログを閉じると、これ以降、選択範囲に特殊文字を入力しようとすると、警告ダイアログがポップアップ表示されます。
doc防止文字9

ヒント。列に重複する値を入力するのをやめたい場合は、Kutools forExcelを使用してみてください。 重複を防ぐ 次のスクリーンショットに示すように。 30日で無制限にフル機能、 今すぐダウンロードして無料トライアルをお試しください。

ドキュメントは重複を防ぎます dockutoolsは2の入力を防ぎます


関連記事:

Excelでスペースを含む値を入力しないようにするにはどうすればよいですか?

Excelの列に重複するエントリを防ぐにはどうすればよいですか?


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300以上の強力な機能。 Office / Excel2007-2019および365をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 全機能30日間の無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性が50%向上し、毎日何百ものマウスクリックが減ります。
officetab下部
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 · 2 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 · 2 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")))