消えてしまうということは、たぶん普通の外枠罫線の左と上ですよね。
今回の場合、例えば太罫線にすることでも罫線が見えるようになると思うのですが、画像が表示されていないときの見た目はイマイチになってしまいます。
というわけで、今の罫線のまま罫線が見えるようにしたいのなら、画像の位置とサイズを調整して貼り付ける必要があります。
提示いただいたコードでは、画像の貼り付け座標(TOP/LEFT)は対象セルのTOPとLEFTに合わせています。
また画像の大きさ(WIDTH/HEIGHT)も、結合セルの大きさに合わせています。
つまりセルの左上ピッタリに、セルと同じ大きさの画像を貼り付けているんですね。
画像が罫線に被って見えないのはこのためです。
ですので、貼り付ける位置を少し右、少し下にずらしてあげれば罫線が見えるようになります。
Dim rng As Range
Set rng = Cells(k, "B")
Set objShape = rng.Worksheet.Shapes.AddPicture( _
Filename:=pict, _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=rng.Left + 1, _
Top:=rng.Top + 1, _
Width:=rng.MergeArea.Width, _
Height:=rng.MergeArea.Height)
ただし、これだけでは今度は下と右の罫線に画像が被ってしまいます。
ですので、ずらした分だけ大きさも小さくしてあげましょう。
Dim rng As Range
Set rng = Cells(k, "B")
Set objShape = rng.Worksheet.Shapes.AddPicture( _
Filename:=pict, _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=rng.Left + 1, _
Top:=rng.Top + 1, _
Width:=rng.MergeArea.Width - 1, _
Height:=rng.MergeArea.Height - 1)
これで画像は少しだけ小さくなりますが、きれいにセルの内側ピッタリになると思います。
参考になれば幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/30 07:20