
No.2ベストアンサー
- 回答日時:
こんにちは。
返事が遅くなってしまいました。
>入力規則だとデータ入力する際にコピーペーストされると適用外になってしまうため、おっしゃるようにマクロの方がいいのかもしれません。しかし、やり方がわからず・・・
このマクロ自体は、思っていたよりもてこずってしまいました。あまり、うまい出来栄えではないとは思いますが、コピーペーストも禁止できます。使用勝手は、入力規則とほぼ同じです。
考え方は、dreamconさんが、特殊文字は個々で入れるという方法を使いました。
取り付け方は、シートタブを右クリックして、「コードの表示」をクリック。
次に、以下を貼り付けます。
入力規則の指定する場所に、Range("A:A") と、範囲を入力します。
複雑な範囲の場合は、例えば、このようにします。Range("A1:A10,B1:B2")
全体の場合を設定したい場合は、If Intersect ... の行そのものを削除します。
'------------------------------------------------
Dim KinshiMoji As Variant
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
Dim msg As String
'以下は、A列のみに、入力規則を施しています。
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
On Error GoTo ErrMsg
If IsEmpty(Target) Then Exit Sub
Application.EnableEvents = False
If Len(KinshiMoji) < 1 Then Call MakingMoji
For Each c In Target.Cells
If Len(c.Text) > 20 And c.Value <> "" Then _
msg = "入力した値は20文字以上です。": Err.Raise 513
If c.Text Like "*[" & Chr(&HA6) & "-" & Chr(&HDF) & "]*" Or _
c.Text Like "*[" & KinshiMoji & "]*" Then
msg = "入力した値は正しくありません。": Err.Raise 513
End If
Next
Application.EnableEvents = True
Exit Sub
ErrMsg:
If MsgBox(msg & vbCrLf & vbCrLf & _
"ユーザーの設定によって、セルに入力できる値が制限されています。", _
16 + vbRetryCancel) = vbRetry Then
c.Select
Application.SendKeys "{F2}"
Else
Target.ClearContents
End If
msg = ""
Application.EnableEvents = True
End Sub
Private Sub MakingMoji()
'禁じする文字を作ります。
Dim i As Long
For i = &H8740 To &H878F
KinshiMoji = KinshiMoji & Chr(i)
Next
End Sub
'------------------------------------------------
今オフィスのエクセル素人集団を集めて実験しましたところ、完璧です!!みな「おおーーー」と歓声を上げました!
本当に、本当にありがとうございます!早速使わせていただきます!
No.1
- 回答日時:
こんにちは。
考えてみました。元のご質問の内容が、揺らいでいるようですが、「20文字以内」「半角カタカナ」「機種依存する特殊文字不可」
というなら、おそらく、半角の数字とアルファベットは許可していると読みました。
=AND(LEN(A1)<=20,SUM((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>165)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<224)+(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>11552)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<11633))=0)
私個人としては、イベントドリブン型のマクロ処理のほうがよいような気がします。
ありがとうございます!確かに入力できず、いい感じです!
ただ、入力規則だとデータ入力する際にコピーペーストされると適用外になってしまうため、おっしゃるようにマクロの方がいいのかもしれません。しかし、やり方がわからず・・・(エクセル初級)。
どこに何をすればいいのかもしよろしければ教えてください。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- その他(ソフトウェア) ソースネクストアプリをインストールし、製品登録で半角英数字が入力できない 5 2022/07/03 22:44
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) セルに入力した小文字アルファベット、数字を大文字表示させるには? 3 2022/07/13 10:01
- 大学・短大 学生ローン日本学生機構の奨学金について詳しい方教えて下さい。 保証人の職場にパソコンから株式会社○○ 1 2022/04/13 05:57
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルでワークシート内に半角カタカナを入力させない方法
Excel(エクセル)
-
エクセルの入力規則で半角英数字と一部記号のみ許可
Excel(エクセル)
-
Excelで入力禁止文字を設定したい
その他(ソフトウェア)
-
-
4
入力規則でスペース入力を禁止する方法
その他(コンピューター・テクノロジー)
-
5
エクセルで英数大文字のみの入力制限は可能ですか
Excel(エクセル)
-
6
Excel 条件によって入力禁止にする
Excel(エクセル)
-
7
エクセルでセルの中身が漢字かどうか識別する方法は?
Excel(エクセル)
-
8
エクセルで小文字入力不可にする方法について
Excel(エクセル)
-
9
エクセルでアルファベットか数値の判定をしたいのですが
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ドロップダウンリスト 自動表...
-
Excelについて
-
autocad 数値が表示されなくな...
-
エクセルVB ポップアップウィ...
-
エクセルで入力規則(リスト)...
-
iTunes で題名やアルバム名が勝...
-
ドロップダウンリストを2列で...
-
SOS---huzake deha arimasenn
-
エクセルで半角カナや特殊文字...
-
excelのInputBoxで日本語入力OF...
-
バーコードリーダーを使ってフ...
-
筆王2004にない人名漢字を...
-
マクロ 入力規則は残し文字の...
-
エクセルのマクロの使い方
-
エクセルの表です。9個ごとに1...
-
Googleドキュメントで数式を書...
-
photoshop6.0の自由変形について。
-
メアド入力不要な日程調整ツー...
-
VBAの日付チェックでオーバーフ...
-
エクセルVBAのエディターが上書...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ドロップダウンリスト 自動表...
-
Excelについて
-
autocad 数値が表示されなくな...
-
VBAの日付チェックでオーバーフ...
-
ドロップダウンリストを2列で...
-
エクセルVB ポップアップウィ...
-
excelのInputBoxで日本語入力OF...
-
マクロ 入力規則は残し文字の...
-
求人情報で「SAP入力可能な方」...
-
Excelで日報を自動で作成したい...
-
【スプレッドシート】時間入力...
-
エクセルで半角カナや特殊文字...
-
【エクセルでシフト作成】週休2...
-
autocadLTで添え字文字
-
エクセル 日付超過でポップアッ...
-
小数点以下の入力規則
-
「IMEが無効です」「丸にx」と...
-
確定申告の医療費控除について
-
excelで第二金曜日を…
-
ACCESSで日付型のフィールドにY...
おすすめ情報