
No.7ベストアンサー
- 回答日時:
再度のチャレンジです。
セルA1にこれを入れてみてください。
1.「入力規則」-「ユーザー設定」-「数式」-「=EXACT(UPPER(A1),A1)」
2.日本語コントロールを半角英数
これが精一杯の方法だと思います。
これで
ABC←可 Abc←不可 abc←不可 AbC←不可
英数が完全に大文字でないと入力できないようになりました。
数字、半角カナも入力できます。
これも制限する場合はまた検討します。
何度もトライしていただきありがとうございました。
入力時に自動的に大文字になることは不可能のようですね。
上記方法を採用させていただきます!助かりました。
No.6
- 回答日時:
入力規則と同じような機能を作ってみました。
参考程度に見てください。入力規則のユーザー設定には余り複雑な算式は設定できないみたいですね。
入力した文字全部が小文字かどうかを判定するセル用の関数を作って登録しましたが、『入力規則には、OR演算、AND演算、配列定数は使用できません。』が出てしまいました。
ユーザー定義関数を作って、その結果を入力規則に使用した結果、うまく動きますが、入力セルに対し判定セルが必要になります。
下では、入力規則と(ほぼ)同じ機能のマクロです。判定用のセルは不要にしています。判定はより複雑にできます。
入力規則の日本語入力の『半角英数字』などは、全角でも入力できたと思いますが、下では不可にしています。
判定するなら、『小文字→大文字』、『全角→半角』などの自動変換も簡単にできる事になります。マクロの最後に参考に書いています。
Sheet1で行う例です。
ツール→マクロ→Visual Basic Editor でVBE画面に移り、表示→プロジェクトエクスプローラでプロジェクトエクスプローラを表示し、Sheet1をダブルクリック。
出てきたコードウインドウに下記マクロをコピーして貼り付けます。
Const 入力規則 = "B2:D20" の行に入力規則を適用する実際の範囲を設定します。
ここから
↓
Const 入力規則 = "B2:D20" '入力規則範囲(***自分で設定します***)
'エラーメッセージ
Const erMsg1 = "入力した値は正しくありません。" & vbCrLf & vbCrLf
Const erMsg2 = "ユーザーの設定によって"
Const erMsg3 = "セルに入力できる値が制限されています。"
'複雑、煩雑な入力規則を行う例。
' Excelの機能では、
' 『条件データの入力規則には、OR演算、AND演算、配列定数は使用できません』
' のメッセージがでて、余り複雑な入力規則は設定できない。
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim erMsg As String '入力エラーメッセージ
erMsg = erMsg1 & StrConv(erMsg2, vbNarrow) & "、" & StrConv(erMsg3, vbNarrow)
Dim moji As String, elm As String '入力文字、入力文字の1文字
Dim L As Integer 'カウンタ
Dim chkFlg As Boolean 'エラーチェックフラグ
chkFlg = True
If Target.Count = 1 Then
If Not Intersect(Range(入力規則), Target) Is Nothing Then
moji = Target.Text
For L = 1 To Len(moji)
elm = Mid(moji, L, 1)
If Abs(Asc(elm)) < 256 Then
Select Case Asc(elm)
Case 97 To 122
'入力が誤りのケース
chkFlg = False: Exit For
Case Else
'入力が正しいケース
End Select
Else
'入力が誤りのケース
chkFlg = False: Exit For
End If
Next
End If
End If
'入力後の処理
If chkFlg = False Then
If MsgBox(erMsg, vbRetryCancel + vbCritical) = vbRetry Then
'Target = StrConv(moji, vbNarrow + vbUpperCase) '半角大文字にしてしまう
Target.Select '再試行
Else
Target = "" 'キャンセル
Target.Select
End If
End If
End Sub
No.5
- 回答日時:
説明が不足してましたので追加しますね。
1.日本語入力を半角英数にします。
2.入力規則をユーザー設定にします。
3.数式のところに
「=(CODE(UPPER(A1))=CODE(A1))」←セルA1の時
を入力します。
(ここで数式エラーになりますがそのまま続けるにしてください)
4.入力規則(英数半角大文字)したいところにコピーします。
5.入力規則違反のとき大げさな表示がでるので入力時メッセージやエラーメッセージも合わせて入力しておくと親切だと思います。
ただし、この方法は文字列の先頭文字だけの大文字入力規制ですので文字列全体を大文字入力規制にすることはできないですね。
例:ABC←入力可 abc←入力不可 Abc←入力可(これはNGですよね?)
でも半角大文字で入力する機転になるかもしれませんが…。
No.4
- 回答日時:
別の列が必要ですが、「=JIS(A1)」のように、JIS関数を使って、強制的に全角文字にしてしまい、入力者には勝手にさせる手も有りますよね。
No.3
- 回答日時:
たぶんこれで可能だと思いますよ。
1.入力規則をユーザー設定にします。
2.数式のところに
「=(CODE(UPPER(A1))=CODE(A1))」←セルA1の時
を入力します。
3.入力規則(英数半角大文字)したいところにコピーします。
これで大丈夫かと思いますよ。
ただ、入力規則違反のとき大げさな表示がでるので
入力時メッセージやエラーメッセージも合わせて入力しておくと親切だと思います。
ちょっと試してみてくださいね。
ちょっとイメージ違ったかな?
この回答への補足
アドバイスありがとうございます。残念ながら
「数式はエラーと思われます…」という表示が出て
やはり小文字でしか入力できません。
日本語入力オフの入力規則をしているからでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ソフトウェア) ソースネクストアプリをインストールし、製品登録で半角英数字が入力できない 5 2022/07/03 22:44
- Excel(エクセル) Excel 365 フリーズ 頻発 エクセルのセルの中に日本語の文章を全角半角和文英文数字を混ぜて入 3 2022/12/12 15:09
- Mac OS Macにおける全角・半角の切り替え(自動のそれの停止) 2 2022/09/13 16:42
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Excel(エクセル) exel 漢字・英数字混在セルの入力規則 5 2022/04/03 11:08
- Excel(エクセル) セルに入力した小文字アルファベット、数字を大文字表示させるには? 3 2022/07/13 10:01
- Excel(エクセル) EXCELでの文字・数字入力の基本について教えてください。 2 2023/05/29 23:17
- 中国語 新しい中国語入力ソフトを発明しました 22 2023/02/06 07:13
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
このQ&Aを見た人はこんなQ&Aも見ています
-
入力規則をK(半角大文字)またはk(半角小文字)に制限するユーザー設定の数式を教えてください
Excel(エクセル)
-
EXCELで大文字入力
Excel(エクセル)
-
エクセルで小文字入力不可にする方法について
Excel(エクセル)
-
-
4
エクセルの入力規則で半角英数字と一部記号のみ許可
Excel(エクセル)
-
5
CapsLockを特定の部分だけオンにする
Excel(エクセル)
-
6
Excel 条件によって入力禁止にする
Excel(エクセル)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
8
エクセル 入力規則設定方法
Excel(エクセル)
-
9
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
10
エクセルのセル内に全角数字を入力したいのにエンターを押すと自動で半角になってしまいます。
Excel(エクセル)
-
11
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
12
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
-
13
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
14
Excelの入力規則で2列表示したい
Excel(エクセル)
-
15
入力規則で半角数字のみ受け付ける方法
Windows Vista・XP
-
16
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
17
エクセルでアルファベットか数値の判定をしたいのですが
Excel(エクセル)
-
18
エクセルで小文字が大文字になる。
Excel(エクセル)
-
19
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
20
エクセルでセルの中身が漢字かどうか識別する方法は?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
認証コードが入力できない(同...
-
エクセルで英数大文字のみの入...
-
Apple IDの作成ができない。「...
-
マンション名のローマ数字入力...
-
エクセルVBA、入力しないと閉じ...
-
yahoo!メールの新着を携帯に通...
-
Excel 対象のセルに入力が無い...
-
VLOOKUP関数で返した値(カタカ...
-
初歩的なことなんですが。produ...
-
inputとenterの違い
-
エクセルVBAでTargetのセルに設...
-
ATOKでエクセルに入力できない
-
Windows10にしてからIMEがおかしい
-
Apple ID パスワード 画面のよ...
-
至急 奨学金のスカラネットで識...
-
コマンドプロンプト表示が一瞬...
-
Excelが勝手に閉じてしまって困...
-
【キーボード】母音しか打てない…
-
Windows10。背面にあるウィンド...
-
Excel:長い文字列が途中で切れる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで英数大文字のみの入...
-
認証コードが入力できない(同...
-
マンション名のローマ数字入力...
-
左向きにエクセルで作成され申...
-
エクセルVBAでTargetのセルに設...
-
Apple IDの作成ができない。「...
-
エクセル 時間を.(ドット)で...
-
エクセルVBA、入力しないと閉じ...
-
Excelが勝手に閉じてしまって困...
-
初歩的なことなんですが。produ...
-
Excelにて入力済セルへの再入力...
-
システムのプロパティがひらけ...
-
コマンドプロンプト表示が一瞬...
-
inputとenterの違い
-
キーボードアプリの会社が収集...
-
teratermでユーザー変更したい
-
ワードで文字が入力できない
-
Excelでの操作エラー 「変更し...
-
タブレットPC文字入力の方法に...
-
VLOOKUP関数で返した値(カタカ...
おすすめ情報