[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『半角の大文字固定』(ババロア)
すごく初歩的なことですがどうやるのか忘れてしまったので、教えていただけると助かります。
現在納品書を作成している所なのですが、商品名、商品番号、個数などを入力して印刷し、商品と一緒に発送するのですが、指定したセル5行目15列目から40列目の入力を半角の大文字英数字で固定したいのです。
入力規則の日本語入力をオフ(英語モード)にして英数字にはできたのですが、他にも影響が出るのであまりShift+Caps Lockで大文字固定はしたくないので指定のセルのみ固定はどのようにやればよかったでしょうか?
< 使用 Excel:Excel2016、使用 OS:Windows10 >
If Target.Row >= 5 Then If Target.Column >= 15 And Target.Column <= 40 Then If Target.Count = 1 Then Application.EnableEvents = False Target.Value = UCase(Target.Value) Application.EnableEvents = True End If End If End If End Sub 'しかしマクロを埋め込まなければならず、さらにCtrl+Zが使えなくなります。 (名無し) 2018/07/30(月) 11:53
'データ入力規則ではIMEオフにして・・
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row >= 5 Then If Target.Column >= 15 And Target.Column <= 40 Then If Target.Count = 1 Then Application.EnableEvents = False Dim rng As Range Set rng = ActiveCell Target.Activate SendKeys UCase(Target.Value) & "{ENTER}" DoEvents rng.Activate Application.EnableEvents = True End If End If End If End Sub (名無し) 2018/07/30(月) 12:10
「設定」は「ユーザー設定」として、「数式」は「=EXACT(A1,UPPER(A1))」とします(数式で普通にイコール比較すると、大文字小文字の違いは同じと判定されてしまうため)。 「日本語入力」は「半角英数字」としましょう。
(???) 2018/07/30(月) 13:10
目的のシートのモジュールに貼って下さい。
Option Explicit
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const VK_CAPITAL = &H14
Private Const KEYEVENTF_KEYUP = &H2
Sub Caps_ON()
If GetKeyState(VK_CAPITAL) = 0 Then keybd_event VK_CAPITAL, 0, 0, 0 keybd_event VK_CAPITAL, 0, KEYEVENTF_KEYUP, 0 End If End Sub
Sub Caps_Off()
If GetKeyState(VK_CAPITAL) = 1 Then keybd_event VK_CAPITAL, &H45, 0, 0 keybd_event VK_CAPITAL, &H45, KEYEVENTF_KEYUP, 0 End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row >= 5 And Target.Column >= 15 And Target.Column <= 40 Then Call Caps_ON Else Call Caps_Off End If End Sub
(名無し) 2018/07/30(月) 14:04
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.