プロが教えるわが家の防犯対策術!

Excel2003を使用しています。

以前、こちらで教えていただいて、1クリックで1ページ分移動するコマンドボタンを作成しました。
左クリックでDown、右クリックでUpし、Sheet2モジュールに下記のコードを記述しています。

このコマンドボタン自体を選択して、現在配置している場所(セル上)から移動させたい場合、どのように操作すればいいでしょうか?
右クリック、左クリック両方にページ移動が設定されているため、コマンドボタン自体を選択することができません…。
マクロが動作しないよう、一旦、コードを削除して、ボタンをクリックしてみたのですが、選択状態になりませんでした。
よろしくお願いします。

-------------------------------------------------------

Private Sub CommandButton1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
 '左クリック-進む-Down
 '右クリック-戻る-Up
  CommandButton1.Caption = "左-Down, 右-Up"
  Dim WinTop As Long
  Dim i As Long
  i = Int((ActiveCell.Row) / 26) + 1
  If Button = 1 Then
    Application.Goto Cells(i * 26 + 1, 1), True
  ElseIf Button = 2 Then
    If i > 1 Then
      Application.Goto Cells((i - 2) * 26 + 1, 1), True
    End If
  End If
   WinTop = ActiveWindow.VisibleRange.Top + 2 '(2は縦の位置調整)
   CommandButton1.Top = WinTop
End Sub

A 回答 (3件)

デザインモードに切り替えると


移動できます。
「表示」-「ツールバー」-「VisualBasic」
で開いたツールバーの中にデザインモードに
するボタンがあります。
    • good
    • 1
この回答へのお礼

アドバイスありがとうございます。
デザインモードに切り替えて、移動させることができました。
ありがとうございました!

お礼日時:2008/11/20 17:13

こんばんは。



>クリックイベントにも何か記述が必要ということなのでしょうか?

もともと、そのコマンドボタンは、何をするためでしょうか?
単に動くだけではなくて、クリックして何をするか、ということですね。
移動するだけではないと思いますけれど……。

私の場合は、最下行にデータを貼り付けるようにしています。
ただ、移動の方法が、ボタンクリックではなくて、
Private Sub Worksheet_SelectionChange
で動くようにしています。
    • good
    • 0
この回答へのお礼

おはようございます。
お礼が遅くなり、申し訳ありません。

>もともと、そのコマンドボタンは、何をするためでしょうか?

コマンドボタンをクリックすると1ページ分移動するというもので、教えていただいた動くボタンで、そのページ移動にコマンドボタンもついてきます。

お礼日時:2008/11/25 09:44

こんばんは。



>デザインモードに切り替えて、移動させることができました。

そういうことでしたか。
コントロールツールやVBEのツールバーの「青い三角定規と鉛筆と定規」のアイコンをオンにすれば、デザインモードになりますから、移動や加工は可能になります。

そのコードの元は、私の書いたものだと思いますが、右クリックも、左クリックもあるけれども、Clickイベントとして、動かすマクロが生きていないのではありませんか?

Private Sub CommandButton1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
 '左クリック-進む-Down
 '右クリック-戻る-Up
  CommandButton1.Caption = "左-Down, 右-Up"
  Dim WinTop As Long
  Dim i As Long
   If Shift = 0 Then Exit Sub  '←ここに一行加える
  ・
  ・

Shift キーかControl キーを押さえながら、右クリック・左クリックで、動くようになります。

そうすれば、
Private Sub CommandButton1_Click()

を使えます。
    • good
    • 0
この回答へのお礼

Wendy02 さん、こんにちは。
お久しぶりです。

1年程前になりますが、Wendy02 さんから、この“動くボタン”を教えていただいて、大変便利に使わせていただいていましたが、最近、ボタンの位置を少し変えようかなと思い、試してみたところ、上記の質問のような状態で…というわけです。
どうしても移動させたいといけないわけでもなかったのですが、できないことが逆に気になって、質問させていただいた次第です。

>Clickイベントとして、動かすマクロが生きていないのではありませんか?

恥ずかしながら、ちょっと意味がわからなかったのですが、アドバイスをいただいたように、

 If Shift = 0 Then Exit Sub

↑1行加えてみたところ、右クリック・左クリックしてもページ移動しなくなりました。

>そうすれば、
Private Sub CommandButton1_Click()

を使えます。

とのことで、クリックイベントにも何か記述が必要ということなのでしょうか?
もし、お時間が取れましたら、教えていただけると嬉しいです。

お礼日時:2008/11/21 10:42

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

このQ&Aを見た人はこんなQ&Aも見ています