• ベストアンサー

エクセルで英数大文字のみの入力制限は可能ですか

エクセルで、半角英数のみの入力制限を「日本語入力オフ」で やっていますが、それにさらに「大文字」のみの入力制限をか けることは可能でしょうか。 「CapsLock」ができれば良いのですが、パソコンをあまり知ら ない人が入力するためのファイルを作成しています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.7

再度のチャレンジです。 セルA1にこれを入れてみてください。 1.「入力規則」-「ユーザー設定」-「数式」-「=EXACT(UPPER(A1),A1)」 2.日本語コントロールを半角英数 これが精一杯の方法だと思います。 これで ABC←可 Abc←不可 abc←不可 AbC←不可 英数が完全に大文字でないと入力できないようになりました。 数字、半角カナも入力できます。 これも制限する場合はまた検討します。

ccbcichiro
質問者

お礼

何度もトライしていただきありがとうございました。 入力時に自動的に大文字になることは不可能のようですね。 上記方法を採用させていただきます!助かりました。

その他の回答 (6)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答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

ccbcichiro
質問者

お礼

ぐわーっ!!あ、ありがとうございましたーっ!! 私の知的レベルでは…き、きびしいようです… 勉強させてください。

回答No.5

説明が不足してましたので追加しますね。 1.日本語入力を半角英数にします。 2.入力規則をユーザー設定にします。 3.数式のところに   「=(CODE(UPPER(A1))=CODE(A1))」←セルA1の時   を入力します。 (ここで数式エラーになりますがそのまま続けるにしてください) 4.入力規則(英数半角大文字)したいところにコピーします。 5.入力規則違反のとき大げさな表示がでるので入力時メッセージやエラーメッセージも合わせて入力しておくと親切だと思います。 ただし、この方法は文字列の先頭文字だけの大文字入力規制ですので文字列全体を大文字入力規制にすることはできないですね。 例:ABC←入力可 abc←入力不可 Abc←入力可(これはNGですよね?) でも半角大文字で入力する機転になるかもしれませんが…。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

別の列が必要ですが、「=JIS(A1)」のように、JIS関数を使って、強制的に全角文字にしてしまい、入力者には勝手にさせる手も有りますよね。

ccbcichiro
質問者

お礼

ありがとうございました。どうしても別の列が必要ですか。 うーん…

回答No.3

たぶんこれで可能だと思いますよ。 1.入力規則をユーザー設定にします。 2.数式のところに   「=(CODE(UPPER(A1))=CODE(A1))」←セルA1の時   を入力します。 3.入力規則(英数半角大文字)したいところにコピーします。 これで大丈夫かと思いますよ。 ただ、入力規則違反のとき大げさな表示がでるので 入力時メッセージやエラーメッセージも合わせて入力しておくと親切だと思います。 ちょっと試してみてくださいね。 ちょっとイメージ違ったかな?

ccbcichiro
質問者

補足

アドバイスありがとうございます。残念ながら 「数式はエラーと思われます…」という表示が出て やはり小文字でしか入力できません。 日本語入力オフの入力規則をしているからでしょうか。

  • celena
  • ベストアンサー率19% (26/132)
回答No.2

制限をかける方法はわかりませんが、他のセルを使って入力された文字を大文字にすることは出来ます。 使用するのは upper関数です。 同時にasc関数も使えば半角英数の大文字に出来ます。 以下はA1の文字列があるときの例です。 =upper(asc(A1))

ccbcichiro
質問者

お礼

ありがとうございました。別にセルが必要なのですね…

  • kensaku
  • ベストアンサー率22% (2112/9525)
回答No.1

capslockしか無いでしょう。別なセルでチェックすることはできます。B列に次の関数を入れると    A   B      表示 1 abc   @lower(a1)>>>abc 2 ABC   @lower(a1)>>>abc 3 Abc   @lower(a1)>>>abc となります。この結果を値複写すればいいですね。 逆もできます。関数はupperです。

ccbcichiro
質問者

お礼

早速のご回答ありがとうございました。Capslockしか ないのですね。エクセルでたいていのことはできると 思ったのですが…

関連するQ&A

  • 半角英数と直接入力の文字の違いとは

    初めまして、初質問ですがよろしくお願いいたします。 最近、IMEバーの使い方の話知人としたのですが。 その中で半角英数と直接入力の違いに、半角英数は日本語入力なので直接入力とは違いインターネット・メール等で文字化け等の問題があるという話になりました。 私も過去にその様な話を聞いたことがあり興味本位でしたが文字コードの違いがあると考えメモ帳で 半角英数で作成したファイル 直接入力で作成したファイル 双方のファイルを作成しバイナリエディタで文字コードを確認したのですが全く同じコードになりました。 そこで質問なのですが、この半角英数と直接入力の違いとは厳密には何になるのでしょうか? 入力時以外に違いが有るのでしょうか? 同じ質問を話し知人にも、違いが有るの一点張りで恥かしながらケンカの様になってしまいしました。 私も調べては見たのですが残念ながら答えに行き当たらず困ってしまいました。 重ね重ねになりますがよろしくお願いいたします。 調査環境 windowsXP HOME SP2 MS-IME 2002 バイナリエディタ Stirling 1.31

  • パソコンを半角英数大文字で設定したい

    文字入力時に半角英数大文字ばかりを使います。  shiftを押しながらでもいいのですが  出来れば、パソコンを立ち上げたときから  ずっと半角英数大文字で入力できるっていう  設定はないのですようか?  CAPSLOCKも立ち上げたときには機能しないみたいですし、  IMEの設定を探してもそれらしき設定がないように思えます。  入力ソフトはIMEを使用しています。  すいませんが宜しくお願いします。  

  • 半角英数の入力

    会社でSONYのVAIO PCV-L700を支給されました。 文字入力の際、shiftを押しながらでないと半角英数が打てません。 capslockがかかっているらしく、ランプが点灯しています。 どうしたら通常半角英数入力になりますか? 教えてください。

  • エクセルのセルに入力文字の制限

    エクセルのセルに文字の制限をしたいのですが、例えばA1セルには半角英数、B1セルにはひらがな、C1セルには半角カタカナという感じでキーボートの半角/全角や英数キーを変更しなくても入力出来る方法がありましたら教えて下さい。宜しくお願いします。

  • 半角英数

    いままで英文字を入力するときにCapsLockを押すと半角英数になっていたのに子供がいろいろさわっていたら半角英数にならずに全角英数になるようになってしまいました?? どうやったら元に戻るでしょうか?

  • シフトを押した時の入力が半角英数にならない

    文字入力についての質問です。 ローマ字入力をしています。 日本語入力をしている最中に、シフトキーを押してアルファベットを打つ時に 今までは半角英数になっていたのが全角になってしまい困っています。 大文字・小文字の変換ではないのでCapsLock+Shiftではないです。 たとえば、 「あいうえおAIUEO」と入力したいのに「あいうえおAIUEO」 となってしまいます。 どなたかこの現象を直す方法を教えてください。 宜しくお願いします。

  • エクセルの書類を入力中 突然 文字入力ができなくなりました。教えてくだ

    エクセルの書類を入力中 突然 文字入力ができなくなりました。教えてください お願いします。  英数半角が 大文字の英数しか入力できなくなりました。 ツールで 半角英数字にはなっているのですが・・・困っています。 通常の戻し方を・・英数半角で入力したいのですが・・・

  • ひらがな入力モードで、capslock英数を押すと半角英数に設定したい

    ひらがな入力モードで、capslock英数を押すと半角英数に設定したいのですが。 いつも画面の下の入力モードはひらがなで、capslock英数を押すと半角英数になるのですが、最近知らないうちにcapslock英数を押すと全角英数になってしまいます。どこを操作すれば常に半角英数にしておけるのですか。(半角英数に一時的に直す方法はわかります)。またどうして知らないうちに全角英数になってしまうのでしょうか。 ご存知の方教えてください。よろしくお願い致します。 Windows VistaでWord2007が入っています。

  • 半角英数に。。。。

    こんにちは。 今までローマ字かな入力で、ひらがなや漢字を打っていて、 キーボードの左、「CapsLock(英数)」を押すと「半角英数」に切り替わっていたのですが。。 突然、全角英数に切り替わるようになってしまいました。。 この場合どのようにすれば、 「CapsLock(英数)」を1回押すと半角英数に切り替わるようになるのでしょうか? 教えてください。 すみません。。パソコン初心者です。。。

  • 突然エクセルで日本語入力できなくなった

    表題の通り、エクセルのみで日本語入力が出来なくなりました。 キーボードの「半角/英数」を押してもaltキーをあわせて押してもだめ、capslockもオンオフを試しました。 言語バーをクリックして「あ」の状態にしても打ち込まれるのは半角英数のみです。 他の書き込みをいくつか参考にしてみましたが解決できません。 ちなみにシステムの復元実行すると日本語入力できるようになりますが、1日くらい時間がたつと、また入力できなくなります。 メールやワードなどでは問題なく日本語入力できます。 解決方法を教えてください。

専門家に質問してみよう