
写真の貼り付けを完全自動化〜大きさ・貼り付け位置の自動設定〜
エクセル業務で写真データを編集する際、以下のようなストレスを感じることってありますよね。
・貼り付け直後の写真が大きい
・複数の写真をいっきに貼り付けすると、写真が重なり編集しずらい
・貼り付けた写真の名前がわからなくなる
こんなストレスを解消するため、写真の貼り付けを自動化するマクロを開発しました。
このマクロを利用すれば、写真データの編集作業の効率を格段にアップさせることができます。
どのくらい効率をアップできるかというと、
編集に3時間必要だったものが、たったの1時間以内に短縮できる
くらい効率をアップさせることができます。
編集する写真データが多ければ多いほどマクロは効果を発揮しますので、エクセルでの写真編集作業が多すぎて困っている!という方は是非写真の貼り付けを自動化するマクロの導入を検討してみてください。
写真の貼付けを自動化するマクロとは
写真の貼り付けを自動化するマクロの処理内容がこちら
貼り付けた写真の大きさを調整
写真の貼付け位置を調整
写真の名前を表示
もっと具体的に「写真の貼付けを自動化するマクロ」をイメージしてもらうために、サンプル事例を使って解説していきます。
サンプル事例の内容がこちら
指定するフォルダ内の写真データを全て貼り付ける
A4サイズに写真データ3つを貼り付ける
貼り付けた写真の名前を右側に表示させる
貼り付けた写真の大きさの「高さ」を揃える
このサンプル事例は実際に私が勤めていた会社で使われているもので、実用性の高いマクロになっています。
下記の動画では、写真の貼り付けを自動化するマクロの動きが紹介されています。
動画で紹介している写真の貼付けを自動化するマクロはこの記事の最後でダウンロードしてすぐにお使い頂くことができます。
これめっちゃ使えそう!と感じてくれた方は是非ダウンロードしてマクロの便利さを体感してみてください。
写真の貼付けを自動化するマクロの使い方
この記事の最後でダウンロードすることができるマクロの使い方を詳しく解説してきます。
1.用意したフォルダに貼り付けたい写真を入れる

2.「設定」シートにフォルダの場所を記載する

3.「実行」ボタンを押下する

マクロの使い方はたったこれだけ!
「実行」ボタンを押下するとフォルダ内の写真が自動的に貼り付けられます。
マクロを実行した結果がこちら
「A4用紙縦」シートの結果

「A4用紙横」シートの結果

A4用紙の縦向き・横向き2つの設定を用意しているので、業務内容に合った方をお使い頂けます。
「A4用紙横」シートの結果で写真が重なっているように見えるけど正常なの!??
このように感じる方が多いと思いますが、
写真の大きさは縦横比を変えずに、「高さ」で揃える設定にしているため、上記の結果のように重なる場合があります。
コードの作り方によっては、
縦横比を固定せずセルに大きさに完全に合わせる
ことも可能です。
業務内容に合わせてアレンジしてみてください。
貼り付けた写真を自動で調整するマクロの導入方法
貼り付けた写真を自動で調整するVBAを使用するには、3つの設定が必要になります。
・ページの様式設定
・貼り付ける写真を保管するフォルダの設定
・コード(VBA)の設定
3つの設定方法を順番に説明していきます。
ページの様式設定(A4用紙縦)

上記の画像は、A4用紙縦の設定が完了したエクセルの画面です。
A4サイズの用紙に3枚分の写真を貼り付け、右側に写真の名前を表示する
という様式設定になっています。
追加で記載したい事項がなければすぐに印刷が可能です。
ページ設定の詳細がこちら
セルの設定
B3セルからW21セルを結合(上記の画像のように増やす)
列の幅‥2
行の高さ‥13.5
ページ設定
ページの拡大/拡小‥99%
余白設定
上‥0.5
下‥1.8
右‥0.5
左‥0.5
A4縦の用紙設定は、上記の設定を行ってください。
ページの様式設定(A4用紙横)

上記の画像は、A4用紙横の設定が完了したエクセルの画面です。
A4サイズの用紙に3枚分の写真を貼り付け、上に写真の名前を表示する
という様式設定になっています。
ページ設定の詳細がこちら
セルの設定
B10セルからQ44セルを結合(上記の画像のように増やす)
列の幅‥2
行の高さ‥13.5
ページ設定
ページの拡大/拡小‥99%
余白設定
上‥0.5
下‥1.8
右‥0.5
左‥0.5
A4用紙横の用紙設定は、上記の設定を行って下さい。
貼り付ける写真を入れておくフォルダの作成
指定するファルダ内にある全ての写真データを貼り付けるという処理なので、写真データのみを保存しておく専用フォルダを作ることをおすすめします。
専用フォルダ作成後にやることは、
フォルダのパス(場所)の情報を「設定」シートに記載する
たったこれだけでフォルダの設定が完了です。
「サンプル写真」というフォルダをデスクトップに作ったときの画像がこちら

サンプル写真フォルダの場所を「設定」シートに記入した画像がこちら

これでフォルダの設定は完了です。
コード(VBA)の設定
標準モジュールに、下記で紹介しているサンプルコードをコピーし貼り付けてください。
Sub 写真挿入横()
Dim Ash As Worksheet
Set Ash = Sheets("設定")
Dim Csh As Worksheet
Set Csh = Sheets("写真(横)")
Const cnsTitle = "ファイル名一覧取得"
Const cnsDIR = "\*.*"
Dim xlAPP As Application
Dim strPath As String
Dim strFilename As String
Dim GYO As Long
Dim zukei As Shape
Dim myFileName As String
Dim syasin As String
Dim Path As String
rm = Csh.Cells(Rows.Count, 25).End(xlUp).Row
For Each sa In Csh.Shapes
On Error Resume Next
If sa.TopLeftCell.Address >= Csh.Cells(1, 1).Address Then
sa.Delete
End If
If Err <> 0 Then
Err.Clear
End If
Next
For i = 3 To rm Step 21
Csh.Range(Csh.Cells(i, 25), Csh.Cells(i + 2, 38)).ClearContents
Next
Set xlAPP = Application
' フォルダの場所を指定する
strPath = Ash.Cells(3, 1)
' フォルダの存在確認 --- 必要な場合のみ記述 ---
If Dir(strPath, vbDirectory) = "" Then
MsgBox "指定のフォルダは存在しません。", vbExclamation, cnsTitle
Exit Sub
End If
' 先頭のファイル名の取得
strFilename = Dir(strPath & cnsDIR, vbNormal)
' ファイルが見つからなくなるまで繰り返す
Do While strFilename <> ""
' 行を加算
GYO = GYO + 21
Csh.Cells(GYO - 18, 25).Value = strFilename
' 次のファイル名を取得
strFilename = Dir()
Loop
For i = 1 To rm Step 21
Csh.Cells(i + 2, 2).Select
syasin = Ash.Cells(3, 1) & "\" & Csh.Cells(i + 2, 25).Value
Csh.Pictures.Insert syasin
Csh.Pictures.Top = Range(Csh.Cells(i + 2, 2), Csh.Cells(i + 20, 23)).Top
Csh.Pictures.Left = Range(Csh.Cells(i + 2, 2), Csh.Cells(i + 20, 23)).Left
Csh.Pictures.Height = Range(Csh.Cells(i + 2, 2), Csh.Cells(i + 20, 23)).Height
Next i
End Sub
VBA画面の表示方法や標準モジュールの作成など基本的な操作も知りたい!という方は下記の記事は参考にしてみてください。
もっと詳細に写真の貼付けを自動化するマクロの導入方法を解説しています。
VBA未経験者がマクロを導入する方法
上記のマクロ導入方法を見たけどマクロが導入できない!でも、「写真の貼付けを自動化するマクロ」を使って業務の効率をアップさせたい!
このようなVBA未経験者がマクロを導入するには2つの方法があります。
サンプルコードを自分で設定できるくらいの基礎知識を身に付ける
マクロの開発を専門家に依頼する
です。
上記で紹介しているサンプルコードをコピペして自身のエクセルでお使いいただくことは可能です。
ですが、
VBA未経験者にとって、いきなりコードをコピペして編集することは難易度高めだと思います。
特に、写真の貼付けを自動化するマクロは様式によって「写真を貼り付ける場所」「写真の大きさ」を変更する必要があるので、
コードの編集箇所が多くVBA未経験者には結構難しい作業になってしまう。
「VBAってプログラミングでしょ?私には無理だ。。」
なんて思った方がほとんどではないでしょうか。
でも安心してください。
VBAは基礎を身に付けるだけでいろんなことができるようになるプログラミングといわれています。
このnoteで紹介している写真の貼付けを自動化するマクロは、
VBA未経験の私が本格的にVBA学習を初めて1ヶ月くらいの時期
に作成したものです。
大事なことはVBAを使って何をしたいのか明確なビジョンを持つこと!
「あんなことがしたい!」「こんな処理を自動化したい!」という想いを持ちながら勉強することで、数日で実務向けのマクロを作成することができるようになります。
実際に私がそうでした!!
「VBAに興味がある!」「エクセル業務の効率をアップさせたい!」と考えている方はVBA学習に関する情報を発信しているメルマガを参考にしてみてください。
VBA初心者向けの参考書、オンラインスクール、仕事で使える便利マクロの情報をお届けしています。
メルマガの登録は無料なのでお得に情報をゲットしてくださいね。
VBAの勉強なんてしている時間がない!
VBAの知識を身に付けたいわけではなく効率化マクロが使えればいい!
このように考える方もいらっしゃいますよね。
そんな方におすすめのマクロ導入方法が、マクロ開発を専門家に依頼するという方法です。
VBAに関する知識がなくても、専門家がマクロを設定したエクセルファイルを貰うことでマクロの導入が完了します。
専門家がマクロを作っている間、本業に専念することができるので最も効率的な導入方法です。
マクロの開発依頼方法には、以下のような方法があります。
クラウドソーシングサイトを利用する
プログラミング開発会社に依頼する
個人で受注している方に依頼する
個人に依頼する方法として、私が運営しているエクセルBlog「マメBlog」でマクロ開発依頼を承っております。
この記事で紹介している写真の貼付けを自動化するマクロはもちらん、
書類作成業務の効率をアップさせる転記マクロやスケジュール管理に欠かせないエクセルカレンダーマクロの開発が可能です。
マメBlogのマクロ開発の特徴がこちら
安価
スピード納入
業務内容に合わせた柔軟なマクロ開発
興味のある方は下記のサイトをチェックしてみてください。
写真の貼付け自動化するマクロのダウンロード
サンプル事例として紹介してきた写真の貼り付けを自動化するマクロを下記有料記事でダウンロードすることができます。
写真データを大量に貼り付ける業務がある!写真を添えた資料作成に手間と時間がかかっている!という方におすすめのマクロです。
写真の貼り付けを自動化するVBAを使って作業の効率化を行いませんか。
気になる方は是非、購入をよろしくお願いします。
この続きをみるには
記事を購入
500円
気軽にクリエイターの支援と、記事のオススメができます!