Excelで画像を重ならないように整列して並べたい

Microsoft Excelで画像を重ならないように整列して並べたいと思ったことはありませんか?セルの区切りを目印にして手動で画像を重ならないように整列させるといった方法で並べることもできますが、手間がかかって面倒ですよね。
そこで、自動で画像を重ならないように整列させてみましょう。この記事では、Excelで画像を重ならないように整列して並べる方法をご紹介していきます。
Excelで画像を重ならないように整列して並べる方法
それでは、Excelで画像を重ならないように整列して並べる方法を説明していきます。画像を重ならないように整列して並べる際に手動ではなく自動で整列させたい場合はマクロを使用します。マクロは「開発」タブから使用するため、もしお使いのExcelに開発タブが表示されていない場合は下記リンク先の記事を参考にして開発タブを表示させましょう。

まずは「開発」タブをクリックしてリボンメニューを開き、「コード」項目の「マクロ」をクリックしましょう。

「マクロ」ダイアログボックスが表示されるので、「マクロ名」入力欄に画像の整列用マクロだと分かる名前を入力します。名前の入力後に、右側のメニューから「作成」をクリックしましょう。

「Microsoft Visual Basic for Applications」ウィンドウが表示されます。コードの入力ウィンドウがあるので、こちらに下記のコードを入力しましょう。
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

コードを入力したら、Excelのウィンドウに戻ります。ウィンドウ上部の「挿入」タブをクリックしてリボンメニューを開き、「図」項目の「画像」をクリックしてメニューから「このデバイス」をクリックして画像を選択して挿入していきます。

画像の挿入が完了したら、「Ctrlキー+左クリック」操作で整列したい画像をすべて選択しましょう。

「Microsoft Visual Basic for Applications」ウィンドウに移動して、「実行」ボタンをクリックしましょう。

これで、画像を重ならないように整列して並べることができますよ。

シート内に画像を重ならないように並べるボタンを作成することも可能です。ウィンドウ上部の「開発」タブをクリックしてリボンメニューを開き、「コントロール」項目の「挿入」をクリックして「フォームコントロール」から「ボタン(フォームコントロール)」をクリックしましょう。

シート内でドラッグ操作を行いボタンの大きさを決めたら、「マクロの登録」ダイアログボックスが表示されます。作成した画像整列用のマクロを選択してから「OK」をクリックしましょう。

これで、シート内に画像整列用のボタンを作成することができました。整列させたい画像を複数指定した状態でこのボタンをクリックすることで、画像を重ならないように自動整列させることができますよ。
以上が、Excelで画像を重ならないように整列して並べる方法の説明となります。