すいみん
こちらのCGメソッドの記事ではエクセル&スプレッドシートで挿入されている画像をセルに収める方法を紹介します!
【Excel】効率化!10個のおすすめの便利関数・機能まとめ
目次
[エクセル&スプレッドシート]ショートカットキーでセルに合わせてぴったり画像を合わせる
- Altキーを押しながら画像を移動するとセルの四隅に画像がスナップします。
拡大中もスナップするので、その機能をうまく生かしてセルに合わせます。
[補足1] 自動設定「セルに合わせて移動やサイズ変更をする」
画像をセルにぴったりくっつけたら、画像を選択して>右クリック>図の書式設定>「セルに合わせて移動やサイズ変更をする」にするとセルを可変させた時に画像も変化するようになります。
[補足2] 書式タブでトリミング&数値入力
書式タブに切り替えて、選択した画像のトリミングや数値入力ができるようになります。
[スプレッドシート限定]セル内に画像機能
- 挿入>画像>セル内画像を使うと、セル内に画像を収めることが可能です。(可変対応!)
エクセルのマクロを使ったやり方
マクロを使うことで、複数画像まとめて変換できます。
- Alt+F11でマクロの作成のウインドウが開きます。
- 挿入>標準モジュール
- 下記のコードを入力して再生ボタンを押すと実行できます。
[マクロ]比率を維持したまま、セルの横幅(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
にします。
セルに合わせてぴったり画像を合わせる方法まとめ
個人的にはスプレッドシート機能を使って画像管理していますが、エクセルでやる場合はよく使うマクロとして登録しておくと画像が乱れている時に整えるのが便利です!