重要なお知らせ

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

電子書籍の厳選無料作品が豊富!

セルに貼り付けたコマンドボタンにマウスカーソルを合わせると、

コマンドボタンの隣に、ユーザーフォームが表示されるマクロを組んでおります。

しかし、エクセルが最大表示のときは、コマンドボタンの隣にユーザーフォームが表示されるのですが、

エクセルの表示を小さくしたり、画面を下方にスクロールしたりすると、

コマンドボタンに追従せずに、変な場所にユーザーフォームが表示されてしまいます。

できれば、ユーザーフォームの表示位置を、コマンドボタンを基点としたいのですが、

何か良い方法はありますでしょうか。

現在は、アプリケーションの位置を基点にしております。

よろしくお願いします。

Private Sub UserForm_Initialize()
Me.StartUpPosition = 0
Me.Top = Application.Top + 180
Me.Left = Application.Left + 100

Me.Height = 80
Me.Width = 100
End Sub

A 回答 (2件)

≪参考≫


ユーザーフォーム表示位置について
http://hpcgi1.nifty.com/kenzo30/b_cbbs/cbbs.cgi? …
    • good
    • 0

コマンドボタンのTopLeftCellプロパティとかBottomRightCellプロパティを使えばどうでしょうか。



Msgbox ActiveSheet.Shapes("CommandButton1").TopLeftCell.Address
MsgBox ActiveSheet.Shapes("ボタン 1").BottomRightCell.Address

この回答への補足

お返事ありがとうございます。

もう少し詳しく教えていただけますでしょうか。

補足日時:2010/03/15 09:07
    • good
    • 0

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