こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VBA コマンドボタン 頭に0がでない

各ボタンに以下を入れる
Private Sub CommandButton1_Click()
Selection.Value = Selection.Value & "1"
End Sub

Private Sub CommandButton2_Click()
Selection.Value = Selection.Value & "2"
End Sub
.
.
Private Sub CommandButton10_Click()
Selection.Value = Selection.Value & "0"
End Sub

Private Sub CommandButton11_Click()
Selection.Value = Selection.Value & "."
End Sub

0.1と入力しても0.1が表示できなく、1となってしまいます。
また.1と入力しても0.1でなく、1になってしまいます。
どうすれば良いでしょうか?

投稿日時 - 2020-02-09 14:27:27

QNo.9710952

困ってます

質問者が選んだベストアンサー

> 「.1」と入力して0.1ってのは無理でしょうか?

Dotを入れたら「0.」にする方法です。
Private Sub CommandButton11_Click()
Selection.NumberFormat = "@"

'すでにDotがあれば何もしない
If InStr(1, Selection.Value, ".") <> 0 Then
Exit Sub
End If

If Selection.Value = "" Then
Selection.Value = "0"
End If
Selection.Value = Selection.Value & "."
End Sub


もしくはすべてのボタンで DotCheckをする方法です。

Private Sub CommandButton1_Click()
Selection.NumberFormat = "@"
DotCheck
Selection.Value = Selection.Value & "1"
End Sub

これを別に作成しておきます。
Function DotCheck()
If Selection.Value = "." Then
Selection.Value = "0."
End If
End Function

投稿日時 - 2020-02-09 19:14:26

お礼

ありがとうございます。
すべてのボタンで DotCheckを入れる方法でうまくできました。

投稿日時 - 2020-02-09 22:58:38

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

全てのボタンのクリックで書式を文字列にして値を入力するようにするか
Selection.NumberFormat = "@"
Selection.Value = Selection.Value & "1"

テキストボックスを作成し、いったんテキストボックスに入れたものをセルに入力するという方法もあります。

投稿日時 - 2020-02-09 15:32:11

補足

コメントありがとうございます。
Selection.NumberFormat = "@"にすることでできましたが、
「.1」と入力して0.1ってのは無理でしょうか?

投稿日時 - 2020-02-09 18:00:16

あなたにオススメの質問