Excel VBA質問箱 IV

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

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


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

【6460】英数字チェック ヒロ 03/7/2(水) 11:21 質問
【6462】ヒントです Be Quit 03/7/2(水) 17:57 回答
【6463】Re:英数字チェック Nakamura 03/7/2(水) 22:27 回答
【6468】Re:英数字チェック ヒロ 03/7/3(木) 12:35 お礼

【6460】英数字チェック
質問  ヒロ  - 03/7/2(水) 11:21 -

引用なし
パスワード
   英数字のみがセルに入力されているかチェックしたいのですが
簡単にチェックできる方法はありませんでしょうか。
A〜Z、a〜z、0〜9以外が入力されていた場合はエラーとしたいのですが。

【6462】ヒントです
回答  Be Quit  - 03/7/2(水) 17:57 -

引用なし
パスワード
   こんにちは。
Like演算子などいかがでしょう。
では。

【6463】Re:英数字チェック
回答  Nakamura  - 03/7/2(水) 22:27 -

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

横から失礼します。
下手ですが、こんな感じでどうでしょう?

Sub test()

  If Check_Eisuuzi(ActiveCell) = False Then
  
    MsgBox "セルが空白か英数字以外が入っています。"
    
  End If
  
End Sub

Function Check_Eisuuzi(ByVal rg As Range) As Boolean

  Dim i As Integer, ii As Integer, stl As Integer
  Dim str As String
  
  
  str = rg.Text
  
  ii = Len(str)
    
  If ii = 0 Then Exit Function
  
  For i = 1 To ii
  
    stl = Asc(Mid(str, i, 1))
      
    If (stl >= 48 And stl <= 57) Or _
      (stl >= 65 And stl <= 90) Or _
      (stl >= 97 And stl <= 122) Then
    
    Else
      
      Check_Eisuuzi = False
      Exit Function
        
    End If
      
  Next i
    
  Check_Eisuuzi = True

End Function


Sub test()を実行してみてください。
特定のセルの場合は、ActiveCellをRange("A1")などとして下さい。
尚、全角文字は考慮していません。
必要が有れば言って下さい。

それでは

【6468】Re:英数字チェック
お礼  ヒロ  - 03/7/3(木) 12:35 -

引用なし
パスワード
   ありがとうございます。
大文字は大丈夫です。

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