Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1388 / 13646 ツリー ←次へ | 前へ→

【74768】漢字が含まれたいたら警告を出す こばねこ 13/9/12(木) 11:46 質問[未読]
【74770】Re:漢字が含まれたいたら警告を出す 3891 13/9/12(木) 15:49 回答[未読]
【74774】Re:漢字が含まれたいたら警告を出す γ 13/9/12(木) 20:43 発言[未読]
【74776】Re:漢字が含まれたいたら警告を出す γ 13/9/12(木) 21:07 発言[未読]

【74768】漢字が含まれたいたら警告を出す
質問  こばねこ  - 13/9/12(木) 11:46 -

引用なし
パスワード
   いつもお世話になっております。

入力規制で半角しか記入できないようにしてあるセルがあるのですが、
コピペされると入力規制が無意味になってしまいます。
ですので、こちらで処理をしたいと思うのですが、
全角から半角、ひらがなの警告はなんとか動くのですが、漢字が含まれている場合警告を出すコードがわかりません。
ひらがなのコードを載せてみます。

ご教授よろしくお願い致します。

Sub ひらがな含まれています()

Dim c As Range
For Each c In Range("H:H", "J:J")
  If c.Value = StrConv(c.Value, vbKatakana) Then
  Else
    MsgBox "ひらがな が含まれています"
  End If
  Next c
End Sub

【74770】Re:漢字が含まれたいたら警告を出す
回答  3891  - 13/9/12(木) 15:49 -

引用なし
パスワード
   こんにちは

全角半角の判断なので、スマートではないかも知れませんが、
StrConv(Text, vbFromUnicode) で、Unicodeにした後、
Len と LenbB を使って、文字数とバイト数を比較されてみてはどうでしょう

全て半角なら、Len = LenB
全角が混ざっているなら Len < LenB
になると思います

ぱっとコードが書けなくてすみません

【74774】Re:漢字が含まれたいたら警告を出す
発言  γ  - 13/9/12(木) 20:43 -

引用なし
パスワード
   参考にしてください。

Sub test()
  Dim s As String
  Dim ss As String
  Dim i As Long
  
  s = "あいうエオ山々は緑です"
  For i = 1 To Len(s)
    ss = Mid$(s, i, 1)
    If ss Like "[一-龠々]" Then
     MsgBox ss & " は漢字です。"
    End If
  Next
End Sub

【74776】Re:漢字が含まれたいたら警告を出す
発言  γ  - 13/9/12(木) 21:07 -

引用なし
パスワード
   言い忘れましたが、一文字でも含まれていたら、
ということなら下記ですね。

Sub test2()
  Dim s As String
  
  s = "あいうエオ山々は緑です"
  If s Like "*[一-龠々]*" Then
    MsgBox s & "  には漢字が含まれています。"
  End If
End If

1388 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free