LoginSignup
6
3

More than 3 years have passed since last update.

Excelで選択中の画像を縦並びに整列させる

Last updated at Posted at 2019-07-01

概要

Excelで画像を複数貼り付けた場合に、デフォルトだと斜めに重なってに並んでしまうので、縦並びに整列したい。
手作業だと時間が掛かってしょうがないので、マクロ化しました。

コード

選択中の画像整列.vbs
Sub 選択中の画像整列()
    Dim isFirst As Boolean: isFirst = True
    Dim left As Integer: left = 0

    Dim shp As Shape
    '選択中の画像内で一番左端の座標を取得
    For Each shp In Selection.ShapeRange
        If isFirst Then
            '最初のオブジェクトの左座標を初期値とする
            left = shp.left
            isFirst = False
        End If
        left = Application.WorksheetFunction.Min(shp.left, left)
    Next shp

    Dim befourButtom As Integer
    befourButtom = 0
    For Each shp In Selection.ShapeRange
        If befourButtom <> 0 Then
            '重ならないように、前のオブジェクトの少し下に配置する
            shp.Top = befourButtom + 5
        End If
        '左座標は一番左のものに合わせる
        shp.left = left
        befourButtom = shp.Top + shp.Height
    Next shp
End Sub

実行結果

実行前
WS000010.JPG
実行後
WS000013.JPG
WS000014.JPG

課題

画像は座標順ではなく挿入順でソート並ぶ為、現在の座標でソートさせたい場合は改修が必要

6
3
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3