画像をExcelに貼り付ける時、1つ1つコピペしていませんか?
今回のマクロを使うと、フォルダ内の画像を等間隔に貼り付けてくれます!
はじめまして、さかいと申します。
インスタで『自動化オタクの仕事術』を紹介している自分が解説させていただきます!
マクロを作る前の準備
まず、マクロを作成するために準備をしていきます
Excelファイルの上にあるツールバーに
「開発」タブを表示させます
既に表示している方は2 マクロを作るにジャンプしていただいてOKです
開発タブを表示
①ツールバーの上で右クリック
②「リボンのユーザー設定」を選択
すると、Excelのオプションが開きます
③「開発」にチェックをつけてOKをクリック
ツールバーに「開発」タブが表示されます。
これで準備完了です!
お疲れさまです!これでマクロを作ることができます!
早速マクロを作成していきましょう。
マクロを作る
①VBEを起動
「開発」タブから「Visual Basic」をクリック
または「Alt + F11」でもOKです
以下の画面が表示されます
②プロジェクトから標準モジュールを挿入
プロジェクト→挿入→標準モジュールをクリック
標準モジュールが表示されるとOKです
③Module1に以下のコードを貼り付け
Sub 画像貼り付け()
Dim lngTop As Long
Dim objFile As Object
Dim objFldr As FileSystemObject
Set objFldr = CreateObject("Scripting.FileSystemObject")
'フォルダパスを入力
flderPath = Application.InputBox("画像貼り付け", "画像フォルダを入力", Type:=2)
'キャンセルを押すとマクロ終了
If flderPath = "False" Then Exit Sub
'貼り付け開始位置
setTop = 20
'画像の高さ
setHeight = 450
'画像の幅
setWidth = 640
'画像の間隔
span = setTop + setHeight
'画像貼り付け処理
For Each objFile In objFldr.GetFolder(flderPath).Files
ActiveSheet.Shapes.AddPicture _
Filename:=objFile, _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=20, _
Top:=setTop, _
Width:=setWidth, _
Height:=setHeight
'次の画像の貼り付け位置を設定
setTop = setTop + span
Next
End Sub
「貼り付け開始位置」と「画像の高さと幅」は調整できるので、
レイアウトに合わせてみてください!
④参照設定を追加
ツールタブ→参照設定をクリック
「Microsoft Scripting Runtime」にチェックをつけてOK
これで参照設定は完了です!
⑤マクロを実行
▶︎(実行ボタン)をクリック
フォルダパスの入力ボックスが表示
画像のフォルダパスを入力し、OKをクリック
表示中のExcelに画像が貼り付けられます!
まとめ
ここまでお疲れさまでした。
今回はフォルダ内の画像を貼り付けるマクロについて説明させていただきました。
エンジニア1年目の時に、キャプチャを撮ってExcelに貼る作業がとても退屈で
このマクロを作ろうと思っていました。(当時は作れず…)
マクロを学ぶと業務効率化と成長の実感を得られるので、ぜひ試してみてください!