メインコンテンツへスキップ

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

Note:上記のコードでは、範囲を変更できます 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 AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

説明


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

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