アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルVBA「スピンボタンで小数を扱う」
エクセルVBAの初心者です。
スピンボタンとテキストボックスを組み合わせて使う際、「0.1、0.2・・・1.0、1.1・・・」というような数の増加を表示したいのですが、どのようなコーディングが必要でしょうか。
試行錯誤しておりましたがどうしても出来ませんのでご質問させて頂きます。

A 回答 (3件)

Me.TextBox1.Value = Me.SpinButton1.Value * 0.1


だと微妙な感じですね
整数の場合 1.0とかが1になっちゃうし・・

これしか思い浮かびません 
    • good
    • 0
この回答へのお礼

ご回答頂きありがとうございます。

確かに、これだと1.0は1になってしまいますね。

お礼日時:2010/07/04 18:38

スピンポタンのSmallChangeプロパティは、Long型ですから、そのままでは扱えません。


ですから、表示を10分の1にするしかありません。なお、前回の質問も、以下でみれば分かるはずです。

'//フォームモジュール

Private Sub SpinButton1_Change()
 With TextBox1
   TextBox1.Text = Format$(SpinButton1.Value / 10, "0.0")
 End With
End Sub

Private Sub UserForm_Initialize()
With SpinButton1
 .Min = 0  '最小値
 .Max = 100 '最大値
 .SmallChange = 1 '1の場合は本来不要
 .Value = 0 '初期値
'プロパティで設定すれば、上記の4つの項目の設定は不要
  TextBox1.Text = Format$(.Value, "0.0") '初期値が0以外は、本来不要
End With
End Sub
    • good
    • 2
この回答へのお礼

ご回答頂きありがとうございます。
Wendy02様、tinu2000様共に前回の質問もごらん頂きありがとうございました。

お二方のご回答はおおよそ同じ内容と判断致しましたので、先に回答して頂きましたWendy02様のご回答をベストアンサーに致しました。

お礼日時:2010/07/04 18:43

前述の質問の続きと見なして。



UserForm1のコード
---------------------- ここから
Option Explicit
Private Sub UserForm_Initialize()
 With Me.SpinButton1
  .Min = 1
  .Value = .Min
 End With
 Me.TextBox1.Value = Format(Me.SpinButton1.Value / 10, "0.0")
End Sub

Private Sub SpinButton1_Change()
 Me.TextBox1.Value = Format(Me.SpinButton1.Value / 10, "0.0")
End Sub


ThisWorkbook のコード
---------------------- ここから
Option Explicit
Private Sub Workbook_Open()
 UserForm1.Show
End Sub
    • good
    • 0
この回答へのお礼

ご回答頂きありがとうございます。
Wendy02様、tinu2000様共に前回の質問もごらん頂きありがとうございました。

お二方のご回答はおおよそ同じ内容と判断致しましたので、先に回答して頂きましたWendy02様のご回答をベストアンサーに致しました。

お礼日時:2010/07/04 18:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています