• ベストアンサー

オートシェイプに関するマクロ

エクセルのオートシェイプの書式設定のサイズの倍率(縦横比を固定)を、120%にするマクロって可能でしょうか? 沢山の図形の大きさを調節する作業があるのですが、その都度オートシェイプの書式設定を開いて値を入力すると大変な手間になってしまいます。 図形をセレクトしてマクロを実行するだけで、大きさを変化させるようにしたいのですが。 ご存知の方がいましたら、よろしくお願いします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

選択したシェイプのサイズを変えるならMACRO2、全てのシェイプを変えたいならMACRO1で行けると思います Sub Macro1() Dim shp As Shape For Each shp In ActiveSheet.Shapes shp.ScaleWidth 1.2, msoFalse, msoScaleFromTopLeft shp.ScaleHeight 1.2, msoFalse, msoScaleFromTopLeft Next End Sub Sub Macro2() Dim shp As Shape On Error Resume Next Selection.ShapeRange.ScaleWidth 1.2, msoFalse, msoScaleFromTopLeft Selection.ShapeRange.ScaleHeight 1.2, msoFalse, msoScaleFromTopLeft End Sub

pyunimo
質問者

お礼

有難うございます。

その他の回答 (2)

  • wakamoto
  • ベストアンサー率39% (35/89)
回答No.3

原始的なやり方ですが、 ツール~のメニューに「新しいマクロの記録」という項目があるでしょうか? VBAの式編集するのではなく、いつもの作業を録音のように記録して、再実行させるやり方です。 まず、最初に編集する図形を選択した状態で、 ツール~新しいマクロの記録をクリック マクロの名前は初期設定では「Macro1」になっています。わかりやすい名前に変更してください。 保存先が作業中のブックになっていることを確認して、「OK」 小さいけれどマクロツールバーが表示されるはずです。 以降、あなたの動作がテープレコーダーに録音するように記録されます。 一連の作業が終わったところで、マクロツールバーの「■(記録の終了)」をクリックします。 次に、2つめの図形を選択した状態で ツール~マクロ、先ほど作成したマクロ名を選択して「実行」すれば、 自動的に複数の作業を繰り返してくれます。 こうして次の図へと繰り返していく方法です。 このマクロをツールバーに表示させる事が出来ます。 表示設定のコマンドのユーザー設定です。 ちなみに、マクロの記録中の動作はすべて記録され無駄な動作も繰り返されます。 が、その不要部分を編集するのはややこしいと思ういますし、そんなに重くなる作業でもないと思うので、結果オーライでよいかと思います。 気になるようでしたら記録したマクロ名を削除して、再度作成してください。

pyunimo
質問者

お礼

有難うございます。

回答No.1

Sub Test() With Selection.ShapeRange .LockAspectRatio = msoTrue .Width = .Width * 1.2 End With End Sub フォームのボタンなどを作成してこのマクロを登録しておけば、拡大したい図形を選択 した状態でボタンをクリックするだけで実行されます。

pyunimo
質問者

お礼

有難うございます。

関連するQ&A