エクセル写真貼り付けマクロ!セルぴったり中央配置コード

エクセル写真貼り付けマクロ!セルぴったり中央配置コードの注目ポイントを丁寧に掘り下げてご紹介します。

Q1:挿入した写真のアスペクト比(縦横比)が崩れて縦長・横長になってしまいます。原因は何ですか?
A1:コード内で pic.Width = targetCell.Width と pic.Height = targetCell.Height の両方を無条件に代入していることが原因です。元画像の縦横比を計算し、Application.Min を用いて幅または高さの小さい方の縮小倍率に合わせる処理(上記コード参照)を実装してください。

Q2:結合セルに写真を貼り付けると、左上の1セル分のサイズに縮小されてしまいます。
A2:Selection.Width ではなく Selection.MergeArea.Width を取得してください。MergeArea プロパティを使用することで、結合された全体のセル幅および高さを正確に参照できます。

Q3:エクセルの行の高さや列幅を変更したときに、写真がズレたり飛び出したりしないようにできますか?
A3:挿入した画像オブジェクト(Shape)の .Placement プロパティに xlMoveAndSize(セルに合わせて移動やサイズ変更をする)を設定してください。手動で行う場合は、図の書式設定から「プロパティ」>「セルに合わせて移動やサイズ変更をする」にチェックを入れます。

Q4:マクロを使わずに、標準機能だけで写真をセル枠ぴったりに収める方法はありますか?
A4:キーボードの Alt キーを押しながら画像の四隅ハンドルをマウスでドラッグすると、セルの枠線(グリッド)に吸着するようにスナップリサイズが可能です。ただし1枚ずつ手動で行う必要があるため、枚数が多い場合はマクロの導入が圧倒的に効率的です。

加藤 愛美

加藤 愛美

エンタメ専門ジャーナリスト

マーケティングと消費者心理のトレンドを分析し、現代のヒット商品の背景を読み解きます。

Share this article
Twitter Facebook Pinterest