Excel

Excelマクロ紹介!画像を一括貼り付けするマクロを解説!

画像を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

Microsoft Scripting Runtimeにチェック

これで参照設定は完了です!

⑤マクロを実行

▶︎(実行ボタン)をクリック

マクロを実行

フォルダパスの入力ボックスが表示

画像のフォルダパスを入力し、OKをクリック

フォルダパスを入力

表示中のExcelに画像が貼り付けられます!

実行結果

まとめ

ここまでお疲れさまでした。

今回はフォルダ内の画像を貼り付けるマクロについて説明させていただきました。

エンジニア1年目の時に、キャプチャを撮ってExcelに貼る作業がとても退屈で

このマクロを作ろうと思っていました。(当時は作れず…)

マクロを学ぶと業務効率化と成長の実感を得られるので、ぜひ試してみてください!