2020年1月17日金曜日

PCソフトウエア>EXCELのActive-Xのボタン(CommandButton)の大きさが変わった時にサイズを復帰するマクロを作る

Excel2010を使用していて、急にボタンの大きさが変わって見えなくなったので、とりあえず元に戻るマクロを作ってみた。(非常事態なのでやっつけ)
やり方がよくわからないので自己流でやってみた。

------それまで試した事------
・ボタンの大きさ・位置が変わるのは、excelのバグのようだ
・効果的な、予防法は無いようだ。
(ボタンをグループ化する、コンパイルする、bookの全てのシートの大きさを100%にする)
・あるサイトでformのボタンの大きさを変えるマクロがあったので参考にした。
     (コマンドボタンの標題を改行し、サイズを自動調整する)

-----内容-----
・ボタンの大きさ(width)と左からの位置(left)が勝手に変わるので指定しなおす。
・垂直位置(top)など他の部分は変わらないので、特に何もしない。
・数値は、ボタンのプロパティの数値と実際の数値にずれがあるので、cut&tryで修正していく。(単位が違うため?)
・数値はダブルクオーテーションで囲む

-----手順----
マクロの記録で、記録開始し、何もせずすぐに停止する。すると、標準モジュールに空のマクロが登録される。下の例では、Module3のMacro7()、Ctrl+zで登録された。

Sub Macro7()
' Macro7 Macro
' Keyboard Shortcut: Ctrl+z
End Sub

開発→デザインモードをクリックしてから、Visual Basic→標準モジュール→Module3の所をダブルクリックして、入力画面にする。


ボタンがsheet1にあるとして、「Sub」と「End Sub」の間に
-------------------↓ここから
        Sheet1.CommandButton1.Width = "100"
        Sheet1.CommandButton1.Left = "425"
        Sheet1.CommandButton2.Width = "100"
        Sheet1.CommandButton2.Left = "425"
        Sheet1.CommandButton3.Width = "100"
        Sheet1.CommandButton3.Left = "425"
        Sheet1.CommandButton4.Width = "100"
        Sheet1.CommandButton4.Left = "425"
        Sheet1.CommandButton5.Width = "100"
        Sheet1.CommandButton5.Left = "425"
        Sheet1.CommandButton6.Width = "100"
        Sheet1.CommandButton6.Left = "425"
        Sheet1.CommandButton7.Width = "100"
        Sheet1.CommandButton7.Left = "425"
        Sheet1.CommandButton8.Width = "100"
        Sheet1.CommandButton8.Left = "425"
        Sheet1.CommandButton9.Width = "100"
        Sheet1.CommandButton9.Left = "425"
        Sheet1.CommandButton10.Width = "100"
        Sheet1.CommandButton10.Left = "425"
     
        Sheet1.OptionButton1.Width = "70"
        Sheet1.OptionButton1.Left = "145"
        Sheet1.OptionButton2.Width = "70"
        Sheet1.OptionButton2.Left = "145"
        Sheet1.OptionButton3.Width = "70"
        Sheet1.OptionButton3.Left = "145"
------------------↑ここまで
を書き込む

(コマンドボタンやラジオボタンの数やあり/なしに応じて書き直す)


開発→デザインモードをクリックして、デザインモード終了にする。
・ボタンが見えなくなったり、位置・大きさが変になった時、Ctrl+zで元の位置に戻る。
・ボタンは、グループ化してあってもOK。

0 件のコメント:

コメントを投稿