No.9ベストアンサー
- 回答日時:
Sub test01()
Dim a As String
a = InputBox("数=")
For i = 1 To Len(a)
If Asc(Mid(a, i, 1)) < 48 Or Asc(Mid(a, i, 1)) > 57 Then
MsgBox i & "字目でNon-Numeric"
Exit For
End If
Next i
End Sub
No.8
- 回答日時:
ダブル型や少数でもいいなら、#2さんのいうようにIsNumeric関数がベスト
銀行の口座番号のような、0-9ならLike演算子で判断がつきます。
(文字列を分解しないでも可能です。)
0-9以外の物を含む場合はエラーとしたらよいです。
Public Function myNumeric(inString As String) As Boolean
myNumeric = Not (inString Like "*[!0-9]*")
End Function
No.7
- 回答日時:
VBScriptのRegExpオブジェクトを使い、正規表現で判断するというのはいかがでしょうか。
<html>
<script Language="VBScript">
samplestr = "1234567890"
Set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Global = True
regEx.Pattern = "\D"
msgbox regEx.test(samplestr)
Set regEX = nothing
</script>
</html>
上はVBScriptの構文です。
regEx.Pattern = "\D"は、数字以外の一文字にマッチの意味です。
regEx.test(string)がtrueならば、数字以外が含まれています。
VBからこのオブジェクトを使う場合は、参照設定で
Microsoft Scripting Runtimeオブジェクトを追加してください。
(IEのバージョン5以降が必要です。)
参考URL:http://www.microsoft.com/japan/msdn/library/ja/s …
No.5
- 回答日時:
こんにちわ。
これは例えば100文字の文字列とかを調べるんですよね?
やったことはないんですが、
面白そうなので一つ提案です。
------------------------------------------------------------
Replace関数で0から9まで10回まわして(vbNullStringあたりと置換)、
最後にもとの文字列と比較して何も変わっていなかったら、全部数字。
------------------------------------------------------------
これでどうでしょう。
処理効率のほうは知りません、MSに聞いてください(笑)
No.4
- 回答日時:
効率は悪いですが...
一度数値型に直して再び文字列に変換、そして比較というのはどうでしょう?
Dim strData As String
Dim strBuff As String
Dim nData As Integer
strData = "12356"
nData = Int(Val(strData))
strBuff = nData
If strBuff <> strData Then MsgBox "数字以外もあるようです"
No.3
- 回答日時:
こんにちは。
maruru01です。No.1の人の言う通り、1文字ずつMID関数とかで取り出して、チェックするしか思いつきません。
No.2の人の挙げたIsNumeric関数は、小数点やマイナス記号、さらには「3.5E-2」のような指数表示でも、Trueを返してしまいます。
No.1
- 回答日時:
私も、そのようなチェックをする場合、ループさせて 一つ一つチェックさせます。
あと、.とか - とかも エラーとして弾いてましたので・・・。
-0.4 とかは、エラーとすることができます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelでの列幅設定 1 2023/02/05 14:41
- Java Java 南京錠 2 2023/02/04 11:46
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- Excel(エクセル) SUMIF関数について 4 2023/06/14 13:13
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- その他(プログラミング・Web制作) 2つのテキストファイルを比べて文字列を特定する方法を教えて下さい 5 2022/05/01 15:22
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- Excel(エクセル) EXCEL 連番を振る方法 4 2023/08/24 15:36
- 数学 高校数学の質問です 文字を消去したり、置き換えたりしたら、残った文字に範囲がつくかどうか調べるという 4 2023/05/03 18:18
このQ&Aを見た人はこんなQ&Aも見ています
-
風水の観点で選ぶ観葉植物とは?置き場所や上げたい運気ごとの注意点を紹介!
観葉植物で運気をアップするコツを、風水デザイン1級建築士の福島昌彦さんに伺った。
-
VBAで入力数値について
Visual Basic(VBA)
-
数字以外の入力をエラーにするには?
Visual Basic(VBA)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
-
4
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
5
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
6
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
7
小数か整数かを判定する方法
Visual Basic(VBA)
-
8
《エクセルVBA》「他の人が該当ファイルを使用中の場合」の処理
Excel(エクセル)
-
9
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
10
worksheet_changeがループする
PowerPoint(パワーポイント)
-
11
TextBoxコントロールを引数として渡すには?
その他(教育・科学・学問)
-
12
Integer変数をカラにしたいのですが
Visual Basic(VBA)
-
13
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
14
Access サブフォームでの選択行の取得
その他(データベース)
-
15
VBAにてデータが数字か文字かを判定するには
Access(アクセス)
-
16
split関数で区切り文字がない場合
Visual Basic(VBA)
-
17
”パラメータ値を TextBox から String に変換できません
SQL Server
-
18
どこにもフォーカスを当てたくない
Access(アクセス)
-
19
Excel vbaで特定の文字以外が入っている時、メッセージを表示させるプログラムについて
Visual Basic(VBA)
-
20
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
VBAからPDFファイルにパスワー...
-
VBAで既に開いている別アプリケ...
-
エクセルマクロエラー「'Cells'...
-
エクセル/保護したシート上の埋...
-
実行時エラー 3265「要求された...
-
WSH createobjectで指定出来る...
-
ExcelのVBAについて(グラフ操作)
-
エクセルのVBAの標準モジュール...
-
VBScriptでCSVファイルのデータ...
-
コンパイルエラーの対処がわか...
-
Excelでフィルタをかけると警告...
-
【VB】【エクセル操作】 SaveAs...
-
エクセルVBAでcode128のバー...
-
VB6 ファイルのリネームの仕方
-
オブジェクト変数の取得について
-
マクロ初心者です。 インデック...
-
UserForm1.Showでエラーになり...
-
Word2007数式でIMEオン/オフを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
実行時エラー 3265「要求された...
-
Excelでフィルタをかけると警告...
-
VBAで既に開いている別アプリケ...
-
エクセルマクロエラー「'Cells'...
-
テキストボックス中の文字列の...
-
VBAで Set wb = Sheets(1).Cop...
-
ある文字列が全て数字であるか...
-
VBAからPDFファイルにパスワー...
-
VBScriptでファイルの日時順(降...
-
EXCEL VBA オートシェイプナン...
-
[VBA]CDOメッセージ送信エラー
-
エクセルVBAで2つの画像を比較...
-
PowerPointVBAでスライドマスタ...
-
UserForm1.Showでエラーになり...
-
上下の位置揃えについて
-
VBAで作成するメール(開封確認...
-
VBAについてです。 初心者です...
おすすめ情報