Excel

【Excel】VBAマクロで画像のサイズ変更(指定で一括、パーセント、セルに合わせる)する方法

当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

この記事では、ExcelのVBAマクロを使用して画像のサイズを変更する方法について解説していきます。

ポイントとしては、画像サイズの一括変更、パーセント指定、セルサイズへの自動調整を使用することです。

変数名は初心者にもわかりやすいように独特の表記を用いていますが、実際には適切な英語表記に変更して使用してください。

それでは詳しく見ていきましょう!

VBAマクロで画像サイズを指定し一括変更する方法(シート全体の画像)

それではまず、シート内の全画像のサイズを数値で指定して、一括で変更する方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub IkkatsuHenkou()
    Dim gazou As Shape
    For Each gazou In ActiveSheet.Shapes
        gazou.LockAspectRatio = msoFalse
        gazou.Width = 100
        gazou.Height = 100
    Next gazou
End Sub

コードのAlt+F8を押し、マクロ選択画面でIkkatsuHenkou関数を実行します。

このコードは、アクティブシート内のすべての画像の幅と高さを100ポイントに一括変更します。

 

VBAマクロで画像サイズをパーセント(倍率)で指定し一括変更する方法(シート全体の画像)

続いては、画像サイズをパーセントで指定して変更する方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub PercentHenkou()
    Dim gazou As Shape
    Dim percent As Double
    percent = 1.5 ' 150%に変更
    For Each gazou In ActiveSheet.Shapes
        gazou.LockAspectRatio = msoTrue
        gazou.Width = gazou.Width * percent
        gazou.Height = gazou.Height * percent
    Next gazou
End Sub

コードのAlt+F8を押し、マクロ選択画面でPercentHenkou関数を実行します。

このコードでは、すべての画像のサイズを150%に拡大します。

 

VBAマクロで画像サイズを一気にセルに合わせる方法(シート全体)

最後に、画像サイズをセルのサイズに合わせる方法について解説します。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub CellNiAwaseru()
    Dim gazou As Shape
    For Each gazou In ActiveSheet.Shapes
        With gazou
            .LockAspectRatio = msoTrue
            .Top = .TopLeftCell.Top
            .Left = .TopLeftCell.Left
            .Width = .TopLeftCell.Width
            .Height = .TopLeftCell.Height
        End With
    Next gazou
End Sub

コードのAlt+F8を押し、マクロ選択画面でCellNiAwaseru関数を実行します。

このコードは、各画像をそれぞれの位置にあるセルのサイズに自動的に合わせます。