Excel VBA質問箱 IV

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

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


9860 / 13644 ツリー ←次へ | 前へ→

【25041】文字列種類の区別 えくせーる 05/5/18(水) 17:44 質問[未読]
【25042】Re:文字列種類の区別 kazu 05/5/18(水) 18:25 発言[未読]
【25066】Re:文字列種類の区別 小僧 05/5/19(木) 10:33 回答[未読]
【25078】Re:文字列種類の区別 えくせーる 05/5/19(木) 14:08 お礼[未読]

【25041】文字列種類の区別
質問  えくせーる  - 05/5/18(水) 17:44 -

引用なし
パスワード
   例)

変数の型はstringです。

A = "ABC012" 
B = "012ABC"
C = ""(Null?)
D = "123"
E = "0" 

A,B及びCは、文字列、
DとEは、数値(あとでVal関数を用いる)として

処理を区別したいのですが、
いい関数とか知ってたら教えてください。

Nullと0が曲者です><

【25042】Re:文字列種類の区別
発言  kazu  - 05/5/18(水) 18:25 -

引用なし
パスワード
   ▼えくせーる さん:

こんばんは。
Typenameを使って変数の型ごとに処理を別けるとかでいいのではないでしょうか?
こんな感じ・・・。

意図が違ってたらごめんなさい。

  S = 111
  
  If UCase(TypeName(S)) = "STRING" Then
    MsgBox "文字列"
  ElseIf UCase(TypeName(S)) = "INTEGER" Then
    MsgBox "数値"
  Else
    MsgBox "その他"
  End If

【25066】Re:文字列種類の区別
回答  小僧  - 05/5/19(木) 10:33 -

引用なし
パスワード
   ▼kazu さん えくせーる さん:
おはようございます。

Sub 数値判断()
Dim Hensu(1 To 5) As String
Dim Cnt As Long

Hensu(1) = "ABC012"
Hensu(2) = "012ABC"
Hensu(3) = ""
Hensu(4) = "123"
Hensu(5) = "0"

  For Cnt = 1 To 5
    If IsNumeric(Hensu(Cnt)) Then
      Debug.Print Cnt & "---数字"
    Else
      Debug.Print Cnt & "---文字列"
    End If
  Next
End Sub

モジュールを走らせて、イミディエトウィンドウで確認してみて下さい。
外していたらすみません。

【25078】Re:文字列種類の区別
お礼  えくせーる  - 05/5/19(木) 14:08 -

引用なし
パスワード
   たいへん参考になりました。
ありがとうございました。

似たような件でまた質問があります。
スレを立てましたので更なる回答お願いします。

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