• ベストアンサー

エクセルVBA「スピンボタンで小数を扱う」

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

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

スピンポタンの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

takoi424
質問者

お礼

ご回答頂きありがとうございます。 Wendy02様、tinu2000様共に前回の質問もごらん頂きありがとうございました。 お二方のご回答はおおよそ同じ内容と判断致しましたので、先に回答して頂きましたWendy02様のご回答をベストアンサーに致しました。

その他の回答 (2)

回答No.3

前述の質問の続きと見なして。 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

takoi424
質問者

お礼

ご回答頂きありがとうございます。 Wendy02様、tinu2000様共に前回の質問もごらん頂きありがとうございました。 お二方のご回答はおおよそ同じ内容と判断致しましたので、先に回答して頂きましたWendy02様のご回答をベストアンサーに致しました。

  • TNK7800
  • ベストアンサー率19% (13/66)
回答No.1

Me.TextBox1.Value = Me.SpinButton1.Value * 0.1 だと微妙な感じですね 整数の場合 1.0とかが1になっちゃうし・・ これしか思い浮かびません 

takoi424
質問者

お礼

ご回答頂きありがとうございます。 確かに、これだと1.0は1になってしまいますね。

関連するQ&A