• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル・スピンボタンを使った時にイベントマクロを発生させたい)

エクセル・スピンボタンを使った時にイベントマクロを発生させたい

このQ&Aのポイント
  • エクセルでスピンボタンを使って数値を上下させた時に、イベントマクロを発生させたいです。
  • セルC1の入力規則のリストから氏名を選択するとグラフが表示されるが、リストから選択するのが面倒なので、スピンボタンで順番に見られるようにしたい。
  • イベントマクロでスピンボタンにリンクしたセルの値が変わったときに、値をC1に貼り付けたいが、Worksheet_Changeだとできないので、どうすればいいですか。

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

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

スピンボタンの値が変わった時のイベントではどうでしょう? また、クリップボード経由でなくても設定できると思います。 Private Sub SpinButton1_Change() Range("C1") = Range("B1") End Sub

48946
質問者

お礼

Sub スピン1_Change() Range("C1") = Range("B1") End Sub で、簡単にできました スピンボタンに直接マクロを登録すればよかったんですね

その他の回答 (1)

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

こんばんは。 SpinButton でダイレクトに出してしまえばよいのではありませんか? SpinButton は、 ↑ ↓ と、矢印は上下にするものとします。 コントロールツールの SpinButton のプロパティは、 Max -1 Min -20 (もし、20項目あれば) 'シートモジュール Index の範囲は、A10:B30 とした場合(項目は、20個) Private Sub SpinButton1_SpinDown() Dim i As Integer   i = Abs(SpinButton1.Value)   Range("C1").Value = WorksheetFunction.Index(Range("A10:B30"), i, 2)   Range("D1").Value = i End Sub Private Sub SpinButton1_SpinUp() Dim i As Integer   i = Abs(SpinButton1.Value)   Range("C1").Value = WorksheetFunction.Index(Range("A10:B30"), i, 2)   Range("D1").Value = i End Sub