Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9179 / 13644 ツリー ←次へ | 前へ→

【28892】スピンボタン toki 05/9/17(土) 15:26 質問[未読]
【28893】Re:スピンボタン ponpon 05/9/17(土) 16:09 発言[未読]
【28895】Re:スピンボタン toki 05/9/17(土) 16:53 質問[未読]
【28896】Re:スピンボタン りん 05/9/17(土) 17:08 回答[未読]
【28899】Re:スピンボタン toki 05/9/17(土) 19:36 お礼[未読]
【28898】Re:スピンボタン ponpon 05/9/17(土) 19:16 発言[未読]
【28900】Re:スピンボタン toki 05/9/17(土) 19:37 お礼[未読]

【28892】スピンボタン
質問  toki  - 05/9/17(土) 15:26 -

引用なし
パスワード
   こんにちは。教えてください。

スピンボタンを使用して発行枚数の数量を上下動させようと思っています。
テキストに値が無いときはスピンボタンで1ずつ上下させ、値があるときはその値を基準に1ずつ上下させるようにしたいのです。

スピンボタンの値が1、2、3、と上下動するのでテキストのデフォルトの値を取得してスピンボタンの値と足すと
例えば10+1=11 11+2=13 13+3=16
という具合になってしまいます。

良い方程式が浮かばないのですがどうしたらよいでしょうか?

【28893】Re:スピンボタン
発言  ponpon  - 05/9/17(土) 16:09 -

引用なし
パスワード
   こんにちは。

何のスピンボタンでしょうか?

フォームのスピンボタンなら、
リンクするセルでセルを指定してやれば、
特に何もしないでよいと思います。

ユーザーフォームのスピンボタンなら、
表示用のTextBox1があるとして、

Private Sub UserForm_Initialize()で、
スピンボタンの値を
 If Me.TextBox1.Value <> "" Then
   SpinButton1.Value = Me.TextBox1.Value
 End If
とし、

Private Sub SpinButton1_Change()
Me.TextBox1.Text = Me.SpinButton1.Value
End Sub
とすれば、よいのでは?

【28895】Re:スピンボタン
質問  toki  - 05/9/17(土) 16:53 -

引用なし
パスワード
   ▼ponpon さん:

こんにちはponponさんいつもありがとうございます!

ところで本日の質問はユーザーフォームのスピンボタンです。

>ユーザーフォームのスピンボタンなら、
>表示用のTextBox1があるとして、
>
>Private Sub UserForm_Initialize()で、
>スピンボタンの値を
> If Me.TextBox1.Value <> "" Then
>   SpinButton1.Value = Me.TextBox1.Value
> End If
>とし、
>
>Private Sub SpinButton1_Change()
>Me.TextBox1.Text = Me.SpinButton1.Value
>End Sub
>とすれば、よいのでは?

ponponさんのご指摘通りやってみましたが、テキストボックスに手入力した値が無視されてしまいます。
例えばスピンボタンで1、2、3と上昇させ3の状態で、手入力で10といれた場合、その後スピンボタンで11、12、13と動けばよいのですが、もとの3を基準として4、5、6となってしまいます。つまり手入力の10が基準となりません。

どうでしょうか?

【28896】Re:スピンボタン
回答  りん E-MAIL  - 05/9/17(土) 17:08 -

引用なし
パスワード
   こんにちわ。

>ponponさんのご指摘通りやってみましたが、テキストボックスに手入力した値が無視されてしまいます。
>例えばスピンボタンで1、2、3と上昇させ3の状態で、手入力で10といれた場合、その後スピンボタンで11、12、13と動けばよいのですが、もとの3を基準として4、5、6となってしまいます。つまり手入力の10が基準となりません。
>
>どうでしょうか?

Changeではなく、SpinUP&Downを使ってみては?

Private Sub SpinButton1_SpinDown()
  With TextBox1
   .Value = .Value - 1
  End With
End Sub

Private Sub SpinButton1_SpinUp()
  With TextBox1
   .Value = .Value + 1
  End With
End Sub

こんな感じです。
テキストボックスに入っている文字が、数値として判定されない文字だとエラーになりますが。

【28898】Re:スピンボタン
発言  ponpon  - 05/9/17(土) 19:16 -

引用なし
パスワード
   こんばんは。
テキストボックスに手入力するんですね!?
スピンボタンだけで、値を動かすと思ってました。
それなら、私のは無視してください。

りんさんから回答が付いていますのでおためしください。

【28899】Re:スピンボタン
お礼  toki  - 05/9/17(土) 19:36 -

引用なし
パスワード
   ▼りん さん:
>こんにちわ。
>
>>ponponさんのご指摘通りやってみましたが、テキストボックスに手入力した値が無視されてしまいます。
>>例えばスピンボタンで1、2、3と上昇させ3の状態で、手入力で10といれた場合、その後スピンボタンで11、12、13と動けばよいのですが、もとの3を基準として4、5、6となってしまいます。つまり手入力の10が基準となりません。
>>
>>どうでしょうか?
>
>Changeではなく、SpinUP&Downを使ってみては?
>
>Private Sub SpinButton1_SpinDown()
>  With TextBox1
>   .Value = .Value - 1
>  End With
>End Sub
>
>Private Sub SpinButton1_SpinUp()
>  With TextBox1
>   .Value = .Value + 1
>  End With
>End Sub
>
>こんな感じです。
>テキストボックスに入っている文字が、数値として判定されない文字だとエラーになりますが。

ありがとうございます!!うまくいきました!!
助かりました!!!またよろしくお願いします。

【28900】Re:スピンボタン
お礼  toki  - 05/9/17(土) 19:37 -

引用なし
パスワード
   ▼ponpon さん:
>こんばんは。
>テキストボックスに手入力するんですね!?
>スピンボタンだけで、値を動かすと思ってました。
>それなら、私のは無視してください。
>
>りんさんから回答が付いていますのでおためしください。

ponponさん!説明不足ですいませんでした!!
またよろしくお願いいたします!

9179 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free