- ベストアンサー
エクセルのコマンドボタンの位置をVBAで指定できませんか?
エクセルのコマンドボタンの位置をVBAで指定できませんか? 表にコマンドボタンがかぶらないようにデータのない最終行にコマンドボタンを移動する VBAを教えていただけませんか? 最終列に移動するVBAも合わせて教えてください。
- みんなの回答 (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の部分は好みで変えれば良い。 表の最右列、表の最下行を捉えるコードはわかっていたのかな。それを知ることが先決。 上記は表示ーツールバーーコントロールツールボックスのコマンドボタンを使用の場合。コントロールをシートに貼り付け時に、右クリックして プロパティの項目の各々が何を規定するか改めて勉強のこと。 必要あればコントロールの書式設定の各タブ(プロパティとか保護とか)の項目設定も勉強して設定のこと。
その他の回答 (4)
- sumer45
- ベストアンサー率17% (52/294)
マクロの自動記録で下記を試してみてください Ctrl+矢印キー
- sumer45
- ベストアンサー率17% (52/294)
あ、ごめん Endrow=("a1").End(XlRight).Column でした
- sumer45
- ベストアンサー率17% (52/294)
Endrow = Range("a65536").End(xlUp).Rowの UPをRightに変える!
- sumer45
- ベストアンサー率17% (52/294)
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 好きな数字のところを調整してください
お礼
早速の回答ありがとうございました。 コマンドボタンの移動ができました。 列の移動も教えていただければありがたいのですが。
お礼
思った通りの動きになりました。 奥が本当に深いなと実感しています。 本当にありがとうございました。