
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- その他(パソコン・スマホ・電化製品) pthonのframeに演算結果(数値)を表示したい 1 2023/06/05 22:08
- Excel(エクセル) TEXT関数(負の値)を集計のため数値に変換したい 5 2022/05/15 23:04
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- 統計学 統計学の問題です よろしくお願いします 代表値 次の15件のデータについて,以下の問いに答えよ。 結 1 2023/01/31 18:53
- 統計学 統計学の問題です よろしくお願いします 代表値 次の15件のデータについて,以下の問いに答えよ。 結 5 2023/01/31 23:35
- Visual Basic(VBA) テキストボックスで入力 9 2022/11/09 17:00
- Visual Basic(VBA) VBA エクセル 条件の設定 1 2022/03/28 10:24
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA:小数点以下の数字を取得できる関数は?
Visual Basic(VBA)
-
小数か整数かを判定する方法
Visual Basic(VBA)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
-
4
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
5
VBA(自然数)
Visual Basic(VBA)
-
6
VBA 小数点の存在判定
Visual Basic(VBA)
-
7
エクセル VBA 小数点を含む数字抽出について
Excel(エクセル)
-
8
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
9
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
10
小数点を含む数値かどうか判断の判断方法
Visual Basic(VBA)
-
11
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
12
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
13
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
14
VBAでCSVファイルが使用中かどうかの確認
Visual Basic(VBA)
-
15
array関数で格納した配列の型を変更する
Visual Basic(VBA)
-
16
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
17
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
18
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
19
改行について
Visual Basic(VBA)
-
20
エクセルにて、フィルタをかけた時少数のみを抽出
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで入力数値について
-
エクセルVBAでテキストボッ...
-
アクセスできない保護レベルエ...
-
【VB.NET】テキストボックスに...
-
Excel ユーザーフォームで計算 ...
-
VBAのユーザーフォームで、テキ...
-
コンボボックスからテキストボ...
-
年齢の計算について
-
他のフォームから別のフォーム...
-
C言語のサフィックスについて
-
String型の値にスラッシュをつ...
-
ExcelのVBAで文章にある複数の...
-
VBAでcallで呼び出したsubを終...
-
【VB6.0】 あるフォームから他...
-
ClickとChangeイベントの違いは...
-
VBA public変数はどのようなこ...
-
チェックボックスを操作できな...
-
テキストボックスかラベル上の...
-
C#のループでtextboxに値を入れ...
-
VB.NETでのイベントの途中終了
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスできない保護レベルエ...
-
エクセルVBAでテキストボッ...
-
【VB.NET】テキストボックスに...
-
visual basic初心者です。 visu...
-
VBAで入力数値について
-
ユーザーフォームへのデータ入...
-
VBAのユーザーフォームで、テキ...
-
コンボボックスからテキストボ...
-
VBでの入力値制限について
-
テキストボックスに大文字を
-
テキストボックスにカーソルを...
-
VBでローマ字入力とかな入力を...
-
年齢の計算について
-
ACCESS 除算での小数点切上げ方法
-
Excel ユーザーフォームで計算 ...
-
【C#】コンボボックスにおけるS...
-
VB2010 TextBoxの数字の表示...
-
VBAのフォーム カーソル移動
-
TextBoxの内容を右寄せ
-
VB2005テキストボックスへのコ...
おすすめ情報