Excel

【Excel】VBAマクロで画像や写真のサイズ一括変更(パーセントやcm単位・セルに合わせる方法)【ShapeRange, InputBox, Resize】

当サイトでは記事内に広告を含みます。

この記事では、VBAマクロで画像や写真のサイズ一括変更(パーセントやcm単位・セルに合わせる方法)【ShapeRange, InputBox, Resize】について解説していきます。

ポイントとしては`ShapeRange`、`InputBox`、`Resize`メソッドを使用することです。

下記の解説では完全な初心者でもわかりやすいようにあえて変数名(あなた自身が名付けていい場所)を少々変わった名称にしております。 そのため、あなた自身がご活用の際には、ここを適切な(英語表記でしっくりくるものが一般的)ものに変更してご活用くださいね。

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

 VBAマクロで画像や写真のサイズ一括変更方法(cm単位:シート内のすべて)【ShapeRange】

それではまず、cm単位でシート内のすべての画像や写真のサイズを一括変更する方法について解説していきます。

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


Sub ResizeImagesCM()
    Dim aaaaawidthaaaaa As Double, aaaaaheightaaaaa As Double
    aaaaawidthaaaaa = InputBox("幅をcm単位で入力してください", "幅")
    aaaaaheightaaaaa = InputBox("高さをcm単位で入力してください", "高さ")

    Dim aaaaashapeaaaaa As Shape
    For Each aaaaashapeaaaaa In ActiveSheet.Shapes
        With aaaaashapeaaaaa
            .LockAspectRatio = msoFalse
            .Width = aaaaawidthaaaaa * 28.3465 ' 1 cm = 28.3465 points
            .Height = aaaaaheightaaaaa * 28.3465
        End With
    Next aaaaashapeaaaaa
End Sub

 

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

このコードは、指定された幅と高さ(cm単位)にシート内の全ての画像や写真を一括でリサイズします。

 

VBAマクロで画像や写真のサイズ一括変更方法(パーセントで倍率決定:インプットボックスでパーセント指定)【Resize】

続いては、パーセントで倍率を決定し、画像や写真のサイズを一括変更する方法について解説していきます。

インプットボックスでパーセントを指定できる仕様となっております。

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


Sub ResizeImagesPercent()
    Dim aaaaapercentaaaaa As Double
    aaaaapercentaaaaa = InputBox("サイズ変更のパーセントを入力してください", "パーセント", 100) / 100

    Dim aaaaashapeaaaaa As Shape
    For Each aaaaashapeaaaaa In ActiveSheet.Shapes
        With aaaaashapeaaaaa
            .LockAspectRatio = msoTrue
            .Width = .Width * aaaaapercentaaaaa
            .Height = .Height * aaaaapercentaaaaa
        End With
    Next aaaaashapeaaaaa
End Sub

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

このコードは、指定されたパーセントでシート内のすべての画像や写真のサイズを一括変更します。

 VBAマクロで画像や写真のサイズ一括変更(近くのセルに合わせる:同じセルに被らないように)方法【ShapeRange】

最後に、画像や写真のサイズを画像や写真を同じセルに被らないようにしつつ、近くのセルに合わせて一括変更する方法について解説していきます。


Sub ResizeImagesToCell()
    Dim aaaaashapeaaaaa As Shape
    For Each aaaaashapeaaaaa In ActiveSheet.Shapes
        With aaaaashapeaaaaa
            .Top = .TopLeftCell.Top
            .Left = .TopLeftCell.Left
            .Width = .TopLeftCell.Width
            .Height = .TopLeftCell.Height
        End With
    Next aaaaashapeaaaaa
End Sub

 

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。コードのAlt+F8を押し、マクロ選択画面で`ResizeImagesToCell`関数を実行します。

このコードは、画像や写真を同じセルに被らないように近くのセルのサイズに合わせてリサイズします。

 

まとめ VBAで画像のサイズ変更(cm単位・セルに合わせる・パーセント)方法【ShapeRange, InputBox, Resize】

この記事では、VBAで画像のサイズ変更(cm単位・セルに合わせる・パーセント)方法【ShapeRange, InputBox, Resize】を解説しました。

ぜひ、これらのテクニックを活用して、効率的な作業を実現してください。