概要
DownValue_ByMoveButtonとUpValue_ByMoveButtonは、図形ボタンをクリックしたときに、現在選択されているセルの値を減少・増加させるプロシージャです。
EventShowMoveSpinButtonで作成した左右ボタンのOnActionに設定して使います。
使う場面
- 選択セルの数値をクリックで増減したい
- 図形ボタンをフォームコントロール代わりに使いたい
- ボタン押下時に視覚的なフィードバックを出したい
- 値変更処理を
ChangeValueCellへ分離して再利用したい
処理の流れ
ChangePushedButtonColorでクリックされたボタンの色を一時変更するGetSelectionCellで現在選択中のセルを取得する- セルが取得できなければ処理を終了する
ChangeValueCellで値を1増やす、または1減らす
使用例
EventShowMoveSpinButtonで作成した図形に、OnActionとして増減処理を割り当てます。
ShapeDown.OnAction = "DownValue_ByMoveButton"
ShapeUp.OnAction = "UpValue_ByMoveButton"
コピー可能な実装コード
DownValue_ByMoveButton,UpValue_ByMoveButton.bas
vba
コードを読み込み中...初心者向けコード解説
UpValue_ByMoveButtonでは、ChangeValueCell(SelectCell, 1, True)を呼び出します。第3引数がTrueなので、値を増加させる意味になります。
DownValue_ByMoveButtonでは、ChangeValueCell(SelectCell, 1, False)を呼び出します。第3引数がFalseなので、値を減少させます。
どちらも、値を直接変更せず、ChangeValueCellへ任せている点が重要です。クリック処理、選択セル取得、値変更を分けることで、後から最小値・最大値の制御を足しやすくなります。
関連記事
- セル値を増減させるChangeValueCell
- クリックされた図形の色を一時変更するChangePushedButtonColor
- 選択中セルを安全に取得するGetSelectionCell
- 選択セルに追従する増減ボタンを表示するEventShowMoveSpinButton
注意点
- 現在選択中のセルを対象にするため、クリック前の選択状態が重要です。
- 対象セルが数値でない場合は、値変更処理でエラーになる可能性があります。
- 実務では、対象範囲や数値判定を追加するとより安全です。
軽いまとめ
この2つのプロシージャは、図形ボタンからセル値を変更するための橋渡し役です。値変更の本体をChangeValueCellへ切り出しているため、ボタンUI以外の処理にも応用しやすい構成になっています。
