重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

エクセルのマクロで、ボタンの矢印を押すと矢印の方向に押したぶんだけ動くボタンを作りたいのですが、いまいちわかりません。
教えてください。
特にボタンを押したら動くという例文を教えてください

A 回答 (4件)

何が動くのかの主語が書いてないあいまい質問です。


Private Sub CommandButton1_Click()
ActiveCell.Offset(1, 0).Select
End Sub
アクチブセルと解釈して、上記でよいのかな。
自分自身(コマンドボタン)が動くのかな。
それなら
Private Sub CommandButton1_Click()
CommandButton1.Top = ActiveCell.Offset(1, 0).Top
ActiveCell.Offset(1, 0).Select
End Sub
でやってみたが、こんなの使えんでしょう。
    • good
    • 0

> 押してる間動くのを



コマンドボタンではクリックイベントは一度しか発生しないので、簡単にこの動作を得るには、スピンボタンを使うしかなさそうです。

> 数字の1を押したら

ただ、スピンボタンはボタン表示の編集ができないので、上下▲矢印か左右▲矢印になります。

それでも良ければ、SpinButton1コントロールを使って、CommandButton1を動かすマクロは以下のとおりです。

Private Sub SpinButton1_SpinDown()
'ボタンの左または下向き矢印が押下された
ActiveSheet.Shapes("CommandButton1").IncrementLeft -1#
'アクティブなシートにあるCommandButton1ボタンを
'現在の位置から左に1ポイント移動
End Sub

Private Sub SpinButton1_SpinUp()
'ボタンの右または上向き矢印が押下された
ActiveSheet.Shapes("CommandButton1").IncrementLeft 1#
'アクティブなシートにあるCommandButton1ボタンを
'現在の位置から右に1ポイント移動
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。とても分かりやすい説明ありがとうございます。また何かあったら教えてください。

お礼日時:2006/06/28 22:19

#1です。

すみません訂正です。
左右の移動はLeft Rightとは関係ありません。
Leftの値が元の値より大きいと右方向、小さいと左方向に移動します。
    • good
    • 0

例えば、CommandButton1というShapeを動かすなら



x = ActiveSheet.Shapes("CommandButton1").Left
ActiveSheet.Shapes("CommandButton1").Left = x + 10

で左に10ポイント移動します。
(右ならRightと書き換えます)

この回答への補足

すみません。上の書いてくださったコマンドの意味を教えてもらえませんか?
あと、できましたら、数字の1を押したら上に押してる間動くのを教えてもらいたいのですが。

補足日時:2006/06/28 15:35
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!