自作ツール&スクリプト

【Excel】セルに合わせてぴったり画像を合わせる方法

excel-image-cell-insert

すいみん
こちらのCGメソッドの記事ではエクセル&スプレッドシートで挿入されている画像をセルに収める方法を紹介します!

ショートカットキーでセルに合わせてぴったり画像を合わせる

  1. Altキーを押しながら画像を移動するとセルの四隅に画像がスナップします。拡大中もスナップするので、その機能をうまく生かしてセルに合わせます。

f:id:min0124:20170129120242j:plain



[スプレッドシート限定]セル内に画像機能

  1. 挿入>画像>セル内画像を使うと、セル内に画像を収めることが可能です。(可変対応!)



エクセルのマクロを使ったやり方

マクロを使うことで、複数画像まとめて変換できます。

  1. Alt+F11でマクロの作成のウインドウが開きます。
  2. 挿入>標準モジュール
  3. 下記のコードを入力して再生ボタンを押すと実行できます。

[マクロ]比率を維持したまま、セルの横幅(W)に画像が合わせるマクロ

Sub FitPicsWidth()
Dim sp As Shape
For Each sp In ActiveSheet.Shapes
If sp.Type = msoPicture Then
sp.LockAspectRatio = msoTrue
sp.Top = sp.TopLeftCell.Top
sp.Left = sp.TopLeftCell.Left
sp.Height = sp.TopLeftCell.Height
sp.Width = sp.TopLeftCell.Width
End If
Next
End Sub

[マクロ]比率を維持したまま、セルの縦幅(h)に画像が合わせる

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

[補助]画像の比率を維持しないで良い場合

LockAspectRatio = msoTrue を LockAspectRatio = msoFalseにします。



まとめ

個人的にはスプレッドシート機能を使って画像管理していますが、エクセルでやる場合はよく使うマクロとして登録しておくと
画像が乱れている時に整えるのが便利です。



以上、すいみん(@cg_method)でした!