Excel VBA質問箱 IV

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

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


22338 / 76732 ←次へ | 前へ→

【59777】Re:エクセルのマクロで文字判定
発言  Yuki  - 09/1/8(木) 8:08 -

引用なし
パスワード
   ▼初心者β さん:

>入力窓はUserFormのTextBoxを利用しております。
>なので入力完了後に登録ボタンを押したときに
>文字列数と半角判断を行って下さればOKです。

ということなので
又はTextBox1_Exitイベントでチェックしても良いですね。

Private Sub CommandButton1_Click()
  Dim strIn  As String
  Dim strLen As Long
  Dim lngRst As Long
  Dim strMsg As String
  
  strIn = Me.TextBox1.Value
  If strIn = "" Then Exit Sub
  If strInputCheck(strIn, strLen) <> 0 Then
    strMsg = "全角が有り" & vbCrLf
  End If
  '変換後の文字列を戻す
  Me.TextBox1.Value = strIn
  strMsg = strMsg & "変換後の文字列 = " & strIn & vbCrLf
  strMsg = strMsg & "変換後の文字列長 = " & strLen
  MsgBox strMsg
End Sub

Function strInputCheck(sS As String, nLen As Long) As Long
  sS = StrConv(sS, vbNarrow)
  nLen = LenB(StrConv(sS, vbFromUnicode))
  If nLen * 2 = LenB(sS) Then
    strInputCheck = 0
  ElseIf nLen = LenB(sS) Then
    strInputCheck = 1
  Else
    strInputCheck = 2
  End If
End Function

2 hits

【59758】エクセルのマクロで文字判定 初心者β 09/1/7(水) 12:48 質問
【59760】Re:エクセルのマクロで文字判定 Yuki 09/1/7(水) 13:11 発言
【59767】Re:エクセルのマクロで文字判定 初心者β 09/1/7(水) 17:27 発言
【59777】Re:エクセルのマクロで文字判定 Yuki 09/1/8(木) 8:08 発言
【59792】Re:エクセルのマクロで文字判定 初心者β 09/1/8(木) 19:57 発言
【59793】Re:エクセルのマクロで文字判定 Abyss 09/1/8(木) 20:16 回答
【59809】Re:エクセルのマクロで文字判定 初心者β 09/1/9(金) 15:36 お礼

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