• ベストアンサー

エクセルVBA コントロールの制御

エクセルのシート上にコマンドボタンを貼り付けています。このシートを縦横にスクロール移動してもコマンドボタンは常に同じ位置(たとえば画面中央)に在るようにプロパティかVBAで制御できないでしょうか。 エクセルは2003Pro、WindowsはXpProです。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

>このシートを縦横にスクロール移動しても コマンドボタンをマクロで移動させるのは容易ですが,移動させるトリガがエクセルVBAに無いので,ご相談でヤリタイことは原則できません。 #スクロールした後,目的の「セルを選んだ」らその横にヒョコッとボタンが寄ってくるなんて事は,簡単にできますね 簡単にできることその1) ユーザーフォームを作成してボタンを配置し, sub macro1() userform1.show vbmodeless end sub のようにして表示しておくと,シートを触りながらユーザーフォームは表示された場所にあり続けます。 簡単にできることその2) カスタムツールバーを(テンポラリに)作成してツールボタンを配置し,ツールボタンにマクロを登録,ツールバーをフローティングしてその辺に置いておけば出来ます。 ThisWorkbookに次のように: private sub Workbook_Open() on error resume next application.commandbars("myCustomBar").delete application.commandbars.add(name:="myCustomBar",position:=msobarfloating, temporary:=true).visible = true application.commandbars("myCustomBar").controls.add type:=msocontrolbutton, id:=2950, before:=1 application.commandbars("myCustomBar").controls(1).onaction = "!macro1" end sub

5unpo
質問者

お礼

簡単にできることその1)をやってみました。望み通り出来ました。ありがとうございました。

関連するQ&A