[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『改行のあるセル内容の全角チェック』(kk)
文字入力チェックのコードを書いております。
セルの内容に変更があった場合に、50文字以内か、全角になっているかを
チェックしたいのですが、改行がある場合に上手くチェックできません。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wCellVal As String Dim ws1 As Worksheet
Set ws1 = Worksheets("新規")
wCellVal = Replace(ws1.Cells(Target.Row, Target.Column), vbLf, "") ★↑ここで改行が消されてるはずなのですが・・・消えてないみたいです
'D列のチェック If Target.Column = 4 Then If Len(wCellVal) > 50 Then MsgBox "商品名は50文字以内で入力してください。", vbOKOnly + vbExclamation, "入力エラー" Exit Sub End If
'If Len(wCellVal) * 2 <> LenB(StrConv(wCellVal, vbFromUnicode)) Then ★↑これで駄目だったので↓でしてみましたが駄目でした If wCellVal = StrConv(wCellVal, vbWide) Then MsgBox "商品名は全角で入力してください。", vbOKOnly + vbExclamation, "入力エラー" Exit Sub End If End If
< 使用 アプリ:2003形式で保存 2013、2003で使用しています、使用 OS:Windows8 >
処理をしているシートと「新規」シートの関係はどのようなものでしょうか? 同一シートであるなら、
Private Sub Worksheet_Change(ByVal Target As Range) Dim wCellVal As String Dim res For Each t In Target If t.Column = 4 Then res = "" wCellVal = Replace(t.Value, vbLf, "") If Len(wCellVal) > 50 Then res = "商品名は50文字以内で入力してください。" End If If wCellVal <> StrConv(wCellVal, vbWide) Then res = res & IIf(res <> "", vbNewLine, "") & "商品名は全角で入力してください。" End If End If If res <> "" Then MsgBox res, vbOKOnly + vbExclamation, "入力エラー" Exit Sub End If Next End Sub ということでしょうか。 (Mook) 2015/03/05(木) 13:54
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.