見出し画像

写真の貼り付けを完全自動化〜大きさ・貼り付け位置の自動設定〜

エクセル業務で写真データを編集する際、以下のようなストレスを感じることってありますよね。

・貼り付け直後の写真が大きい
・複数の写真をいっきに貼り付けすると、写真が重なり編集しずらい
・貼り付けた写真の名前がわからなくなる


こんなストレスを解消するため、写真の貼り付けを自動化するマクロを開発しました。

このマクロを利用すれば、写真データの編集作業の効率を格段にアップさせることができます。


どのくらい効率をアップできるかというと、

編集に3時間必要だったものが、たったの1時間以内に短縮できる

くらい効率をアップさせることができます。


編集する写真データが多ければ多いほどマクロは効果を発揮しますので、エクセルでの写真編集作業が多すぎて困っている!という方は是非写真の貼り付けを自動化するマクロの導入を検討してみてください。


写真の貼付けを自動化するマクロとは

写真の貼り付けを自動化するマクロの処理内容がこちら

  • 貼り付けた写真の大きさを調整

  • 写真の貼付け位置を調整

  • 写真の名前を表示


もっと具体的に「写真の貼付けを自動化するマクロ」をイメージしてもらうために、サンプル事例を使って解説していきます。


サンプル事例の内容がこちら

  • 指定するフォルダ内の写真データを全て貼り付ける

  • A4サイズに写真データ3つを貼り付ける

  • 貼り付けた写真の名前を右側に表示させる

  • 貼り付けた写真の大きさの「高さ」を揃える


このサンプル事例は実際に私が勤めていた会社で使われているもので、実用性の高いマクロになっています。


下記の動画では、写真の貼り付けを自動化するマクロの動きが紹介されています。


動画で紹介している写真の貼付けを自動化するマクロはこの記事の最後でダウンロードしてすぐにお使い頂くことができます。


これめっちゃ使えそう!と感じてくれた方は是非ダウンロードしてマクロの便利さを体感してみてください。


写真の貼付けを自動化するマクロの使い方

この記事の最後でダウンロードすることができるマクロの使い方を詳しく解説してきます。


1.用意したフォルダに貼り付けたい写真を入れる

画像3


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

画像4


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

画像5


マクロの使い方はたったこれだけ!

「実行」ボタンを押下するとフォルダ内の写真が自動的に貼り付けられます。


マクロを実行した結果がこちら

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

画像6

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

画像7


A4用紙の縦向き・横向き2つの設定を用意しているので、業務内容に合った方をお使い頂けます。


「A4用紙横」シートの結果で写真が重なっているように見えるけど正常なの!??

このように感じる方が多いと思いますが、

写真の大きさは縦横比を変えずに、「高さ」で揃える設定にしているため、上記の結果のように重なる場合があります。

コードの作り方によっては、

縦横比を固定せずセルに大きさに完全に合わせる

ことも可能です。

業務内容に合わせてアレンジしてみてください。


貼り付けた写真を自動で調整するマクロの導入方法

貼り付けた写真を自動で調整するVBAを使用するには、3つの設定が必要になります。

・ページの様式設定
・貼り付ける写真を保管するフォルダの設定
・コード(VBA)の設定

3つの設定方法を順番に説明していきます。


ページの様式設定(A4用紙縦)

画像1

上記の画像は、A4用紙縦の設定が完了したエクセルの画面です。


A4サイズの用紙に3枚分の写真を貼り付け、右側に写真の名前を表示する

という様式設定になっています。


追加で記載したい事項がなければすぐに印刷が可能です。


ページ設定の詳細がこちら

セルの設定

  • B3セルからW21セルを結合(上記の画像のように増やす)

  • 列の幅‥2

  • 行の高さ‥13.5


ページ設定

  • ページの拡大/拡小‥99%


余白設定

  • 上‥0.5

  • 下‥1.8

  • 右‥0.5

  • 左‥0.5


A4縦の用紙設定は、上記の設定を行ってください。


ページの様式設定(A4用紙横)

画像8

上記の画像は、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つの方法があります。

  1. サンプルコードを自分で設定できるくらいの基礎知識を身に付ける

  2. マクロの開発を専門家に依頼する

です。


上記で紹介しているサンプルコードをコピペして自身のエクセルでお使いいただくことは可能です。

ですが、

VBA未経験者にとって、いきなりコードをコピペして編集することは難易度高めだと思います。


特に、写真の貼付けを自動化するマクロは様式によって「写真を貼り付ける場所」「写真の大きさ」を変更する必要があるので、

コードの編集箇所が多くVBA未経験者には結構難しい作業になってしまう。


「VBAってプログラミングでしょ?私には無理だ。。」

なんて思った方がほとんどではないでしょうか。


でも安心してください。


VBAは基礎を身に付けるだけでいろんなことができるようになるプログラミングといわれています。


このnoteで紹介している写真の貼付けを自動化するマクロは、

VBA未経験の私が本格的にVBA学習を初めて1ヶ月くらいの時期

に作成したものです。


大事なことはVBAを使って何をしたいのか明確なビジョンを持つこと!

「あんなことがしたい!」「こんな処理を自動化したい!」という想いを持ちながら勉強することで、数日で実務向けのマクロを作成することができるようになります。


実際に私がそうでした!!


「VBAに興味がある!」「エクセル業務の効率をアップさせたい!」と考えている方はVBA学習に関する情報を発信しているメルマガを参考にしてみてください。

VBA初心者向けの参考書、オンラインスクール、仕事で使える便利マクロの情報をお届けしています。


メルマガ登録はこちら


メルマガの登録は無料なのでお得に情報をゲットしてくださいね。


VBAの勉強なんてしている時間がない!
VBAの知識を身に付けたいわけではなく効率化マクロが使えればいい!

このように考える方もいらっしゃいますよね。


そんな方におすすめのマクロ導入方法が、マクロ開発を専門家に依頼するという方法です。


VBAに関する知識がなくても、専門家がマクロを設定したエクセルファイルを貰うことでマクロの導入が完了します。


専門家がマクロを作っている間、本業に専念することができるので最も効率的な導入方法です。


マクロの開発依頼方法には、以下のような方法があります。

  • クラウドソーシングサイトを利用する

  • プログラミング開発会社に依頼する

  • 個人で受注している方に依頼する


個人に依頼する方法として、私が運営しているエクセルBlog「マメBlog」でマクロ開発依頼を承っております。

この記事で紹介している写真の貼付けを自動化するマクロはもちらん、
書類作成業務の効率をアップさせる転記マクロやスケジュール管理に欠かせないエクセルカレンダーマクロの開発が可能です。


マメBlogのマクロ開発の特徴がこちら

  • 安価

  • スピード納入

  • 業務内容に合わせた柔軟なマクロ開発

興味のある方は下記のサイトをチェックしてみてください。


写真の貼付け自動化するマクロのダウンロード


サンプル事例として紹介してきた写真の貼り付けを自動化するマクロを下記有料記事でダウンロードすることができます。


写真データを大量に貼り付ける業務がある!写真を添えた資料作成に手間と時間がかかっている!という方におすすめのマクロです。


写真の貼り付けを自動化するVBAを使って作業の効率化を行いませんか。

気になる方は是非、購入をよろしくお願いします。

ここから先は

203字 / 1ファイル

¥ 500

この記事が気に入ったらサポートをしてみませんか?