
No.2ベストアンサー
- 回答日時:
前提として、数値違いの文字や、"."が2個以上記入された場合等は事前にチェックしているものとします。
整数か少数かは、InStrで"."があるかどうかで判断できます。
また、InStrの結果から小数点以降の桁数を算出することができます。
あとは 入力値*(10^桁数) としてあげればよいでしょう。
Dim text As String
text = "12.345"
Dim value As Integer
Dim dec As Integer '小数点の位置
Dim declen As Integer '小数点の桁数
dec = InStr(text, ".")
' 小数点がなければ整数
If dec = 0 Then
value = CInt(text)
' 小数点がある
Else
declen = Len(text) - dec '小数部分の桁数を算出
value = CInt(Val(text) * (10 ^ declen))
End If
MsgBox (value)
もうひとつ、少々乱暴な方法ですがReplaceで"."を取り外してしまうとか
Dim text As String
text = "12.345"
Dim value As Integer
value = CInt(Replace(text, ".", ""))
MsgBox (value)
No.4
- 回答日時:
ユーザーフォームにコマンドぼたんとテキストボックスをはりつけ。
コマンドボタンのクリックイベントに
Private Sub CommandButton1_Click()
a = TextBox1.Text
MsgBox a
If IsNumeric(a) Then
Else
MsgBox "数字で在りません"
Exit Sub
End If
p = InStr(a, ".")
If p = 0 Then
Cells(1, "A") = Val(a)
Else
Cells(1, "A") = Val(a) * 10 ^ (Len(a) - p)
End If
End Sub
セル A1に値を設定。
No.3
- 回答日時:
数値かどうかの判断:IsNumeric
数値化:Val(倍制度実数への変換)、CDec(10進数への変換)
文字列化:CStr
文字位置の検索:InStr
(1)数値かどうかを判断する。非数値ならエラー
(2)数値化してから文字列化する。
(3)"."(ピリオド)の位置を検索する。
(4)ピリオドが存在した場合、文字列長-検索位置→Xとする。
(数値 * 10 ^ X)を文字列化する。
(5)文字列をテキストボックスのValueとする。
※倍制度実数の10進換算精度は15桁、10進数は29桁
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
小数か整数かを判定する方法
Visual Basic(VBA)
-
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
エクセル VBA 小数点を含む数字抽出について
Excel(エクセル)
-
-
4
VBA:小数点以下の数字を取得できる関数は?
Visual Basic(VBA)
-
5
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
6
VBA(自然数)
Visual Basic(VBA)
-
7
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
10
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
11
テキストボックス(VBA)でEnterを押したときに作動するマクロ
Access(アクセス)
-
12
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
13
Excel マクロ VBA プロシージャが大きすぎます のエラー対処方法
Visual Basic(VBA)
-
14
小数点を含む数値かどうか判断の判断方法
Visual Basic(VBA)
-
15
VBA 小数点の存在判定
Visual Basic(VBA)
-
16
テーブルの最後(最新)のレコードを抽出したい
MySQL
-
17
VBA:結合されたセルに対する「Target」について
Access(アクセス)
-
18
改行について
Visual Basic(VBA)
-
19
VBAでCSVファイルが使用中かどうかの確認
Visual Basic(VBA)
-
20
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA セル間のリンク修正につい...
-
vba textboxへの入力について教...
-
複数のExcelファイルをマージす...
-
【マクロ】並び替えの範囲が、...
-
VBA ユーザーフォーム ボタンク...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
ワードの図形にマクロを登録で...
-
えくせるのVBAコードについて教...
-
エクエルのVBAコードについて教...
-
Excel VBA 選択範囲の罫線色の...
-
[VB.net] ボタン(Flat)のEnable...
-
VBAでCOPYを繰り返すと、処理が...
-
vbaにてseleniumを使用したedge...
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
エクセルのマクロについて教え...
-
エクセルの改行について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスできない保護レベルエ...
-
visual basic初心者です。 visu...
-
エクセルVBAでテキストボッ...
-
【VB.NET】テキストボックスに...
-
VBAで入力数値について
-
ユーザーフォームへのデータ入...
-
VBSのプログラム
-
VBでの入力値制限について
-
VBAで選択箇所がある場合の重複...
-
【C#】コンボボックスにおけるS...
-
コンボボックスからテキストボ...
-
Excel ユーザーフォームで計算 ...
-
テキストボックスを空白にする方法
-
整数かどうかチェックする
-
VBA 文字列から日付に変更
-
VBAのユーザーフォームで、テキ...
-
VB2005テキストボックスへのコ...
-
visual studio 2008 C# で、値...
-
TextBoxの内容を右寄せ
-
VBでローマ字入力とかな入力を...
おすすめ情報