
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)
-
VBA:小数点以下の数字を取得できる関数は?
Visual Basic(VBA)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
-
4
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
5
VBA(自然数)
Visual Basic(VBA)
-
6
VBA 小数点の存在判定
Visual Basic(VBA)
-
7
エクセル VBA 小数点を含む数字抽出について
Excel(エクセル)
-
8
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
9
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
10
小数点を含む数値かどうか判断の判断方法
Visual Basic(VBA)
-
11
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
12
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
13
VBAでCSVファイルが使用中かどうかの確認
Visual Basic(VBA)
-
14
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
15
array関数で格納した配列の型を変更する
Visual Basic(VBA)
-
16
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
17
テキストボックス(VBA)でEnterを押したときに作動するマクロ
Access(アクセス)
-
18
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
19
エクセルにて、フィルタをかけた時少数のみを抽出
Excel(エクセル)
-
20
エクセルVBAでオプションボタンを無効にする方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでテキストボッ...
-
コンボボックスからテキストボ...
-
VB.NETのテキストボックスで、...
-
ユーザーフォームへのデータ入...
-
【VB.NET】テキストボックスに...
-
アクセスできない保護レベルエ...
-
VBでテキストボックスの文字を...
-
テキストボックスかラベル上の...
-
C#のループでtextboxに値を入れ...
-
XMLファイルのattribute値がう...
-
C言語のサフィックスについて
-
vba 日本語以外を抽出について
-
【HTML、VBScript】HTAアプリケ...
-
VBA public変数はどのようなこ...
-
演奏記号の・・・・
-
DTPicker テキストクリアの方法
-
「ずっと憧れていました」は英...
-
Visual Basicについてお聞きし...
-
VBScript、ClipboardDataオブジ...
-
datagridview の任意の行に三...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでテキストボッ...
-
アクセスできない保護レベルエ...
-
ユーザーフォームへのデータ入...
-
【VB.NET】テキストボックスに...
-
VBAで入力数値について
-
コンボボックスからテキストボ...
-
VBAのユーザーフォームで、テキ...
-
AccessのVBAで「イベ...
-
visual basic初心者です。 visu...
-
ループを使ってテキストボック...
-
Excel ユーザーフォームで計算 ...
-
VBAで選択箇所がある場合の重複...
-
時間の計算
-
基本的な質問で本当に申し訳あ...
-
Vba テキストボックスの文字列...
-
16進数
-
Web Browserで、、、
-
エクセル VBA タブストップに...
-
VisualBasic2008でのツールの扱...
-
VB.NETのテキストボックスで、...
おすすめ情報