プロが教える店舗&オフィスのセキュリティ対策術

Excel 画像を等間隔、縦横同じサイズ、下に一列で、結合されたセルの中へ、参照するフォルダの中の画像ファイルの名前(数字順になってます。例、1 (1).jpg、1 (2).jpg、1 (3).jpg...))例のものでいうと、1 (1).jpgから順番に貼り付けていきたいのですが、リンクが切れないように、なおかつ、結合しているセルの枠いっぱいいっぱいまで画像のサイズ変更もしたいです。
こころが折れそうです、早急にお返事お待ちしております!
どんな解決策でもうれしいので、たくさんのVBA先輩方、どうぞ宜しくお願いいたします・・・
参考程度に上記のように画像を貼っていかなければいけないテンプレートの画像も貼っておきます。

「Excel 毎日手作業で時間がかかって、」の質問画像

質問者からの補足コメント

  • HAPPY

    わざわざ朝早くから答えてくれてありがとう!

    うん、お前みたいな暇人には聞いてない。消えて

    No.1の回答に寄せられた補足コメントです。 補足日時:2022/10/25 07:42

A 回答 (3件)

No2です。



反応がないので、解決したのかどうかもわかりませんけれど・・・


素人が簡単に作ると以下のような感じになります。
※ 質問文に記載のない部分に関しては、勝手に想像。
※ 値のチェックやエラー処理は省略してあります。
※ 画像ファイルの順は、エクスプローラでの昇順になります。
※ 「セルの枠いっぱいいっぱいまで」とあるので、画像のプロポーションは無視してセルに合わせています。
※ 回転画像はないものとしています。
 (対応が必要な場合は、No2の2番目のリンクの方法で可能です)

Sub test()
Dim fPath, fName, r, c

With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = 0 Then Exit Sub
fPath = .SelectedItems(1) & "\"
End With

Set r = Cells(91, 2)
fName = Dir(fPath & "*.jpg", vbNormal)
Do While fName <> ""
Set c = r.MergeArea
ActiveSheet.Shapes.AddPicture Filename:=fPath & fName, _
LinkToFile:=msoTrue, SaveWithDocument:=msoTrue, _
Left:=c.Left, Top:=c.Top, Width:=c.Width, Height:=c.Height
If r.Column = 2 Then Set r = Cells(r.Row, 6) _
Else Set r = Cells(r.Row + 20, 2)
fName = Dir()
Loop
End Sub
    • good
    • 0
この回答へのお礼

fujillin様 2回もお返事いただきまして、本当にありがとうございます!!
まさか fujillin様のような、こんなにも丁寧に教えていただける方がこれほど早いレスポンスで回答していただけるなんて想像しておりませんでした。ありがとうございます!!
早速、作っていただきましたマクロを試運転させていただいたのですが、私の質問が不十分だったのですが、上記参考画像では、横に画像貼り付け欄が二列並んでいる状態なのですが、正しくは左側の画像貼り付け欄の下方向にずらーと引用するフォルダの中の画像の名前順に貼り付けていきたく、一枚画像を貼り付けたら、下を3行空けて次の写真を貼り付けていきたいと思っております。なんとかマクロ本片手にfujillin様の書いてくださったコードを自力で編集しようと思ったのですが、いかんせん難しすぎました…
fujillin様、もう少しお力添えいただけないでしょうか...

お礼日時:2022/10/27 01:31

こんにちは



「複数の画像をシートに並べて配置する」という需要はそれなりにあるので、あちこちに解説サイトがあります。
貯めた写真の整理や工事写真などでの利用例が多いのではと思います。

ここのサイトでも、同様のご質問は多々見かけた記憶があります。
いずれにしろ、そのままピタリのものは無いと思いますので、質問者様のご要望に合わせて修正する必要はあると思いますが、以下はその一例です。
検索してみれば、他にもいろいろと見つかるはずです。

◇複数画像を貼り付ける例
https://oshiete.goo.ne.jp/qa/9024507.html
◇セル範囲に画像をフィットさせる例
https://oshiete.goo.ne.jp/qa/13123440.html

一般のサイトであれば、
◇指定したフォルダ内の画像をエクセルに大量貼り付け
https://www.higashisalary.com/entry/vba-pictures …
◇エクセルVBAで大量の画像をまとめてシートに貼り付ける
https://tonari-it.com/excel-vba-shapes-addpictur …


ご自分で調整/修正などする気はなく、「思う通りのままのものをプロに作って欲しい」と言うのであれば、以下のようなサイトを利用なさった方が速いと思います。
https://crowdworks.jp/static/lp/vba/
    • good
    • 0

まずはご自身のVBAの知識がどのくらいあるかを確かめましょう。



そしてその作業をマクロで行わせるために必要なプログラムを組むために必要な知識に何が足りないのかを明確にすることです。

何が足りなくて分からないのかは、簡単に分かることではありません。
ですのでこの場合は、やりたいことの手順を箇条書きにして、その書き出した項目ごとに自身で作れるかを確かめると良いでしょう。
できない手順について質問すれば、ピンポイントで解答が返ってきますよ。

・・・

ごめんね。
「代わりにマクロを組め。オレ様の成果として使ってやるwww」
のように読み取れる質問ですので、
よほど
「こんなもん一瞬でできるわwww」
という人でない限りマクロを示して答えてくれることは無いと思います。

ここは
代わりにマクロを作ることを「依頼」する場所ではなく
自分でマクロを作れるようになるための「アドバイス」を貰う場所です。
「作業依頼」をされたいのであれば、有料サイトで対価を支払って依頼するようにしましょう。


・・・余談・・・

というか「Excel」なんて使わずに「電子納品対応の写真管理ソフト」使えば良いじゃない。
ちょっとお高い製品ですが、業務上必要なら購入を検討してはいかがでしょう。
この回答への補足あり
    • good
    • 6

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!