写真の貼り付けを完全自動化〜大きさ・貼り付け位置の自動設定〜
エクセルに写真を貼り付ける業務の効率をアップさせたい!!
こんな思いを「エクセルVBA」を使って解決します。
本記事で紹介する『写真の貼付けを自動化するVBA』を使えば、以下のような作業の効率を格段にアップさせることができます。
セル内に収まるよう写真の大きさを微調整する
キレイに写真を並べるために位置を微調整する
他の写真と大きさが合わないからトリミングして調整する
見やすい資料にしようとすればするほど時間と手間がかかりますよね。
電気関係の会社に勤めていた頃、
毎月、作業現場の写真を編集して危険個所がないかを報告する
という業務がありました。
内容としては、
写真付資料を職員全員でチェックしながら「ここは危険がない」「ここは電線があって危ない」みたいな感じで議論する
というものです。
仕事だから仕方ないと思いつつ資料を作成していましたが、
編集がかなりめんどくさい!!!毎月、資料見て適当に頷いて終了なのにこんな手間と時間をかける意味あるんか!!?
と思いながら残業してました。
こんなストレスを抱えながら資料作成し続けるなんて絶対ムリ!!!
そこで開発したのが、
『写真の貼付けを自動化するVBA』
です。
『写真の貼付けを自動化するVBA』を導入すれば、
写真付資料の作成時間を大幅に削減する
ことが可能です。
今まで丸1日かかっていた作業がたったの1時間で完了する
これくらい作業効率がアップしちゃいます!!!
エクセルで写真付資料の作成業務が多い!同じ作業にうんざりしている!!
という方は是非、『写真の貼付けを自動化するVBA』の導入を検討してみてください。
『写真の貼付けを自動化するVBA』とは
『写真の貼付けを自動化するVBA』の処理内容がこちら
指定するフォルダ内の写真をまとめて貼り付ける
貼り付けた写真の大きさを調整
写真の貼付け位置を調整
貼り付けた写真の名前を表示
実際に、どれくらい作業効率をアップできるのかイメージして頂くために『写真の貼付けを自動化するVBA』の処理を動画にまとめました。
処理内容がこちら
指定するフォルダ内の写真データを全て貼り付ける
A4サイズに写真データ3つを貼り付ける
貼り付けた写真の名前を右側に表示させる
貼り付けた写真の大きさの「高さ」を揃える
動画の『写真の貼付けを自動化するVBA』の処理は
あくまで私が行っている業務の効率をアップさせるために設定したもの。
写真を6枚貼り付けられる様式にしたい!ダイアログから写真を選択して貼り付けたい!!など、
業務内容にあった設定にアレンジすることも可能です。
『写真の貼付けを自動化するVBA』の使い方
設定した『写真の貼付けを自動化するVBA』の使い方を解説していきます。
1.用意したフォルダに貼り付けたい写真を入れる
2.「設定」シートにフォルダの場所を記載する
3.「実行」ボタンを押下する
使い方はたったこれだけ!
めちゃくちゃ簡単ですよね
シンプルな操作でフォルダ内全ての写真を貼り付けることができます。
マクロを実行した結果がこちら
「A4用紙縦」シートの結果
数百枚分の写真の貼付けをほんの数分で処理することだってできますよ
VBA未経験者でも『写真の貼付けを自動化するVBA』を導入できるのか
VBA未経験者でも『写真の貼付けを自動化するVBA』を扱うことはできるの?エラーが発生したら対応できない。。。
このような不安を抱えている方が多いのではないでしょうか。
私の個人的な考えは、
VBA未経験者でも『写真の貼付けを自動化するVBA』を扱うことはできる。ただし、業務内容に合わせてコードをアレンジするにはコードを読み解く知識が必要になる
です。
『写真の貼付けを自動化するVBA』に使われているコード(抜粋)がこちら
syasin = Ash.Cells(3, 1) & "\" & Csh.Cells(i + 2, 25).Value
Dim SH As Range
Set SH = Csh.Range(Csh.Cells(i + 2, 2), Csh.Cells(i + 20, 23))
Set zukei = Csh.Shapes.AddPicture(Filename:=syasin, LinkToFile:=False, SaveWithDocument:=True, Left:=0, Top:=0, Width:=0, Height:=0)
With zukei
.ScaleHeight 1, msoTrue
.ScaleWidth 1, msoTrue
.LockAspectRatio = msoTrue
'縦長写真、横長写真を判別
If .Height > .Width Then
.Height = SH.Height
.Top = SH.Top
.Left = SH.Left + (SH.Width - .Width) / 2
Else
.Width = SH.Width
.Left = SH.Left
.Top = SH.Top
End If
End With
パッと見ただけでは意味不明ですよね。。。
コードをアレンジするにはそれなりの知識が必要になりますが、ネットの情報だけでも十分対応できるので、是非挑戦してみてください。
職場では私以外にVBAを編集できる人がいなく、「むやみにVBAを導入するな!」と上司に言われていました。
コード開発者しかVBAを扱えない
エラー発生時、対応できない
資料の様式の変更に対応できない
誰もが感覚的にコードを編集できないこと
がVBAのデメリットの一つです。
ですが、個人的には
対応できない!扱えない!!という理由で便利なVBAを導入しないなんてナンセンス。誰でも扱えるVBAにして積極的に導入すべき
だと考えています。
記事の後半でダウンロードできる『写真の貼付けを自動化するVBA』は
様式の変更さえしなければVBA未経験者でもサクッと扱える
仕様になっています。
他にも以下のような用途で活用可能
設定されているコードをVBA学習用の材料として使う
設定されているコードをベースにアレンジする
「写真の貼付けサンプルコード」として保存しておく
さらに、ダウンロードして頂いた方からの
「質問」「様式変更の方法」「仕様変更の相談」
を随時受けているので安心してください。
『写真の貼付けを自動化するVBA』なんて全然使い物ならないじゃん!!
こんな思いは絶対にさせません。
写真の貼付け自動化するマクロのダウンロード
サンプル事例として紹介してきた『写真の貼付けを自動化するVBA』を下記有料記事でダウンロードすることができます。
写真付資料を作成する業務が多い方は絶対にゲットしてください。
実際に私はこのVBAを導入してから
写真付資料の作成にかかる時間を今までの1/10程度まで削減
することができています。
編集する写真の枚数が多ければ多いほど効果を発揮!!!
エクセル業務の効率をアップさせたい!無駄なルーティーン作業を少しでも効率化したい
このように考える方は是非『写真の貼付けを自動化するVBA』で効率化に挑戦してみてください。
この記事が気に入ったらチップで応援してみませんか?