写真票作成(写真帳)マクロ A4縦に写真8枚貼り付け

リンク貼付けと埋め込み貼付けの2種類を掲載しました(2019/07/11)

写真票作成(写真帳)マクロ A4縦に写真8枚貼り付けるマクロをご紹介します。
これで自動でアルバム作成ができます。

※ その他の様式一覧はこちら

操作画面

写真票(写真帳)の様式はこんな感じです。
※行列の幅、枠線、題名はエクセルシート上で修正できます 

手順

①写真データを1つのフォルダに保存する
※ファイルの並び順に写真が配置されます。
順番を変えたい場合は名前を変更してください。

G1セルに写真データのフォルダのパスを記入する

ファイル取得ボタンを押す
B列に設定フォルダのファイル名が記入されます(ここで画像データ以外がないか確認)

④写真票に記入したい項目があれば入力する
2行目まで入力可能!!なければ空欄で。

写真票作成ボタンを押す
写真データ保存先に写真票フォルダが作成され、その中にファイルが保存されます。

こういった感じで写真を貼り付けたシートが自動でできます。

↓ダウンロードはこちらをクリック(詳しい手順、注意事項はファイルの中に記載)

【埋め込み貼付け】

【リンク貼付け】

写真票作成(写真帳)マクロ A4縦に写真8枚貼り付け」への9件のフィードバック

  1. suzuki nobuaki

    お世話になります。
    Excelのマクロに興味をもち、様々なサイト等で独学になりますが、学ばせていただいています。
    本サイトには、たくさんのマクロがありとても参考にさせていただいています。
    1点質問させてください。
    写真の位置づけやサイズ等の変更は少しずつ理解できたのですが、写真の画像を縦に1列や2列だけでなく、
    3列、4列…と増やす場合には、どのように入力するとよいのでしょうか。
    お手数をおかけしますが、教えていただけると幸いです。
    よろしくお願いします。

    返信
    1. macro 投稿作成者

      お世話になっております。
      ご連絡ありがとうございます。
      こちらのマクロはk,j,iの変数で貼り付け位置を調整しています。
      例えば以下の分で偶数か奇数かを判断して
      写真の挿入時に貼り付け位置を1列目か2列目か設定しています。
      If k Mod 2 = 1 Then
      j = 0
      Else
      j = 2
      End If

      3列にする場合
      If k Mod 3 = 1 Then
      j = 0
      ElseIf k Mod 3 = 2 Then
      j = 2
      Else
      j = 4
      End If
      に変更し、写真様式にE列に写真が挿入されますのでレイアウト等は調整して下さい。

      4列にする場合
      If k Mod 4 = 1 Then
      j = 0
      ElseIf k Mod 4 = 2 Then
      j = 2
      ElseIf k Mod 4 = 3 Then
      j = 4
      Else
      j = 6
      End If
      に変更し、写真様式にE,G列に写真が挿入されますのでレイアウト等は調整して下さい。

      写真の枚数に合わせて以下も変更ください。
      If k Mod 8 = 1 Then

      もし必要であれば必要なレイアウトのものを作成いたしますのでご連絡下さい。

      返信
      1. やまだ

        突然のコメント失礼します。
        いつも参考にさせてもらっております。ありがとうございます。
        3列にする場合と4列にする場合、のマクロに変更してみたのですが3列目と4列目が一段ずれて張り付けられてしまいます。どのように対応すれば良いかご教示ください。よろしくお願いいたします。

        返信
        1. macro 投稿作成者

          ご連絡ありがとうございます。
          マクロをどのように修正したかを教えていただければ原因がわかるかと思いますが
          マクロをどのように修正したか教えていただくことは可能でしょうか?

          返信
  2. 坂本夏輝 

    はじめまして、仕事で使用させて頂いてます。
    添付した画像ですが、デフォルトだと左よりなのですが、初めから中央揃えにする事は可能でしょうか?

    また、添付する写真のサイズも任意であらかじめ設定することが出来るならその方法も教えていただきたいです

    返信
  3. h

    セルの中に文字が入っていない場所には写真を貼り付けないようにしたいのですが、どうすればいいのでしょうか。

    返信
    1. macro 投稿作成者

      返信が遅くなり申し訳ありません。
      「セルの中に文字が入っていない場所」とは具体的にどちらになりますか?

      返信
      1. h

        例えばですが、
        B2のセルに文字がある場合、B6に写真を挿入
        B2のセルに文字がない場合、D6に写真を挿入
        B2のセルに文字がなく、D3にも文字がない場合、B23に写真を挿入 みたいなかんじです。

        返信
        1. macro 投稿作成者

          返信が遅くなりまして申し訳ありません。
          写真挿入の前と項目入力の後に
          以下のように赤い太字の部分を追加してください。
          そうすれば空白の行は写真の挿入、項目追加もされず、次の行の作業に移ります。

          If Cells(k + 1, 2) = “” Then
          GoTo Label1
          End If

          ‘写真挿入
          PicPath = Path & “\” & Cells(k + 1, 2)
          xlSheet.Cells(6 + 17 * i, 2 + j).Select
          xlSheet.Pictures.Insert(PicPath).Name = “Pic” & k
          xlSheet.Shapes(“Pic” & k).Copy
          xlSheet.Shapes(“Pic” & k).Delete
          xlSheet.Paste
          ‘サイズ変更
          xlSheet.Pictures.ShapeRange.LockAspectRatio = msoTrue
          xlSheet.Shapes(“Pic” & k).Height = 250
          ‘項目入力
          xlSheet.Cells(3 + 17 * i, 2 + j) = Cells(k + 1, 3)
          xlSheet.Cells(4 + 17 * i, 2 + j) = Cells(k + 1, 4)
          xlSheet.Cells(1, 1).Select

          Label1:

          返信

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください