プロが教えるわが家の防犯対策術!

マクロを使って、フォルダ内の画像をエクセルに自動的に貼り付けできるようになりました。
しかし、出来上がったファイルをメールで他の人に送ると、その人のところではエラーがでて画像が見られません。「リンクされたイメージを表示できません」となります。
ネットで調べてみましたが、画像の挿入のPictuers.insertをAddpictureに変えることが載っていたのですが、初心者ゆえよくわかりません。
どなたか教えて頂けませんでしょうか。
仕事で使うため、切羽詰っています。
どうか宜しくお願いいたします。

WINDOWS7
EXCEL2013を使っています。

'一括挿入(画像)

WS01.Select
Cells(9, 2).Select
For i = 2 To LastRow
'偶数の場合、次の処理を行う
If i Mod 2 = 0 Then
FName = WS02.Cells(i, 7)
Set Pict = WS01.Pictures.Insert(FName)
With Pict
.TopLeftCell = ActiveCell
.ShapeRange.LockAspectRatio = msoTrue
.ShapeRange.Height = ActiveCell.Height * 10.8
.Name = i - 1
End With
ActiveCell.Offset(13, 0).Activate
Set Pict = Nothing
End If
Next i

Cells(9, 10).Select
For i = 2 To LastRow
'奇数の場合、次の処理を行う
If i Mod 2 <> 0 Then
FName = WS02.Cells(i, 7)
Set Pict = WS01.Pictures.Insert(FName)
With Pict
.TopLeftCell = ActiveCell
.ShapeRange.LockAspectRatio = msoTrue
.ShapeRange.Height = ActiveCell.Height * 10.8
.Name = i - 1
End With
ActiveCell.Offset(13, 0).Activate
Set Pict = Nothing
End If
Next i
Cells(1, 1).Select

End Sub

A 回答 (3件)

急ぎなら特にマクロ全部を載せて下さい。


WS01やLastRowの定義が不明で苦労します。

前半で修正部分を書きました。後半も同様にしてみて下さい。、」

Dim Pict As Shape
WS01.Select
Cells(9, 2).Select
For i = 2 To LastRow
'偶数の場合、次の処理を行う
If i Mod 2 = 0 Then
fname = WS02.Cells(i, 7)
With ActiveCell
Set Pict = WS01.Shapes.AddPicture(fname, False, True, Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height * 10.8)
End With
With Pict
.Name = i - 1
End With
    • good
    • 1
この回答へのお礼

迅速にご回答頂きありがとうございました。
差し換えてみましたところ、思い通りに動作しました。
質問の仕方等、分かりにくく、お手数をお掛けしてしまい申し訳ありませんでした。
全てにおいて初心者ゆえご容赦下さい。
VBAもっと勉強します。
本当にありがとうございました。非常に助かりました。

お礼日時:2016/08/11 23:14

こんにちは



こちらでは対処できませんか?
https://oshiete.goo.ne.jp/qa/6527450.html
    • good
    • 1
この回答へのお礼

大変参考になりました。
教えて頂き、ありがとうございました。
もっとVBAを勉強します。
本当にありがとうございます。

お礼日時:2016/08/11 23:17

FName = WS02.Cells(i, 7)


相手はこのセルに記述されているパスの場所に同名の画像ファイルを持っているんですか?
    • good
    • 1
この回答へのお礼

一部のみ貼り付けたのでわかりにくくてすみません。

Excelのシート3枚あります。
データ入力するシート
画像のパスの場所が登録されているシート(WS02)
マクロを実行すると画像が貼り付けられるシート

画像ファイルは、別の画像フォルダの中に入っています。

メールを送った相手は、
マクロを実行すると画像が貼り付けられるシートだけ送っているので
同名の画像ファイルは持っていません。

お礼日時:2016/08/10 16:13

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

このQ&Aを見た人はこんなQ&Aも見ています