• ベストアンサー

Excelのスピンボックスについて

ユーザフォームではなくワークシート上にスピンボックスを配置した場合の話です。 例えばセルB3に入力されている値をスピンボックスを使って、上矢印をクリックすればB3の値が1づつ上がる。逆に下矢印をクリックすればB3の値が1づつ下がる。というようなものにしたいのですが、以下のように値を増やすコードと値を減らすコードを作成しても右クリック->マクロの登録では1つのマクロしか登録できません。 どうすればそれぞれのボタンにマクロを登録することができるのでしょうか。 Dim up As Integer up = Range("F5").Value up = up + 1 Range("F5") = up Dim down As Integer down = Range("F5").Value down = down - 1 Range("F5") = down

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

  • ベストアンサー
noname#187541
noname#187541
回答No.1

こんばんは。 フォームのスピンボタンであればマクロはいりません。コントロールの書式設定でリンクするセルを設定すればクリックするたびに数値が増減します。 配置したスピンボタンを右クリックして「コントロールの書式設定」を選びます。 コントロールタブで「リンクするセル」をクリックし、希望のセルをクリックします。 後は最大・最小・変化の増分等色々と設定して試してください。

backs
質問者

お礼

回答ありがとうございます。 コントロールの書式設定で増減値だとかを簡単に設定できたのですね。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

1つめのスピンボタンの コントロールのプロパティ(右クリック)で LinkedCellにA5セルを指定 SmallChangeプロパテイに2 を設定。 2つめのスピンボタンの コントロールのプロパティで LinkedCellにA6セルを指定 SmallChangeプロパテイに5 を設定。 これで1つめをクリックするとA5の値が2づつ 2つめをクリックするとA6の値が5づつアップ(ダウン)します。 質問は、こういうことでしょう。 もちろんコードで指定もできるはずですが。 Sub test01() Worksheets("Sheet4").SpinButton1.SmallChange = 3 End Sub

backs
質問者

お礼

回答ありがとうございます。 1つづつ丁寧な説明をありがとうございます、とても参考になりました。

関連するQ&A