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

エクセルのコマンドボタンの位置をVBAで指定できませんか?
表にコマンドボタンがかぶらないようにデータのない最終行にコマンドボタンを移動する
VBAを教えていただけませんか?
最終列に移動するVBAも合わせて教えてください。

A 回答 (5件)

シートのセルの位置と関連付けるのは


Sub test01()
c = Range("iv2").End(xlToLeft).Next.Next.Column
r = Range("a65536").End(xlUp).Row + 2
Worksheets("Sheet1").CommandButton1.Left = Cells(r, c).Left
Worksheets("Sheet1").CommandButton1.Top = Cells(r, c).Top
End Sub
のようにする。
c = Range("iv2").End(xlToLeft).Next.Next.Column

c = Range("iv2").End(xlToLeft).Column + 2
でも同じ。
+2の部分は好みで変えれば良い。
表の最右列、表の最下行を捉えるコードはわかっていたのかな。それを知ることが先決。
上記は表示ーツールバーーコントロールツールボックスのコマンドボタンを使用の場合。コントロールをシートに貼り付け時に、右クリックして
プロパティの項目の各々が何を規定するか改めて勉強のこと。
必要あればコントロールの書式設定の各タブ(プロパティとか保護とか)の項目設定も勉強して設定のこと。
    • good
    • 1
この回答へのお礼

思った通りの動きになりました。
奥が本当に深いなと実感しています。
本当にありがとうございました。

お礼日時:2010/06/07 21:14

マクロの自動記録で下記を試してみてください



Ctrl+矢印キー
    • good
    • 0

あ、ごめん



Endrow=("a1").End(XlRight).Column

でした 
    • good
    • 0

Endrow = Range("a65536").End(xlUp).Rowの



UPをRightに変える!
    • good
    • 0

Sub test()



Dim Endrow As Long

Endrow = Range("a65536").End(xlUp).Row

With Worksheets(1).CommandButton1
.Top = Cells(Endrow, 1).Top + 好きな数字
.Left = Cells(Endrow, 1).Left + 好きな数字
End With


End Sub


好きな数字のところを調整してください
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。
コマンドボタンの移動ができました。

列の移動も教えていただければありがたいのですが。

お礼日時:2010/06/05 18:51

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

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


このQ&Aを見た人がよく見るQ&A