• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:H列の画像の下に画像を挿入できるようにしたい)

H列の画像の下に画像を挿入する方法

このQ&Aのポイント
  • H列の画像の下に画像を挿入する方法について教えてください。
  • マクロを組んでみましたが、A列に画像がある場合に問題が発生します。
  • H列のみで判断して画像を挿入する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • masnoske
  • ベストアンサー率35% (67/190)
回答No.3

No.2です. もしかして,こういう事でしょうか. 以下の部分を For Each shp In ActiveSheet.Shapes endRow = Application.Max(endRow, shp.BottomRightCell.Row) Next このように変更する. For Each shp In ActiveSheet.Shapes If shp.Left = Range("H1").Left Then endRow = Application.Max(endRow, shp.BottomRightCell.Row) End If Next

k0suke_suzuki
質問者

お礼

ありがとうございます。 大変助かりました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

>shp.BottomRightCell. の対象が、H列に張り付けられた画像限定になっていないからでしょう(度の列でも対象にしてしまっている)。Shpのセルの位置との唯一の関連情報である.TopLeftCell, などがH列であで、列がH列限定の判別を入れる。 下記例はB列で2ですが、H列では8ですかね。 Dim rng As Range n = ActiveSheet.Shapes.Count MsgBox n For i = 1 To n With ActiveSheet.Shapes(i) 'Set rng = Range(.TopLeftCell, .BottomRightCell) Set rng = .TopLeftCell End With cl = Split(rng.Address, "$")(1) If cl = 2 Then MsgBox rng.Address(False, False) Else MsgBox "対象外" & rng.Address(False, False) End If Next i 上記もWEB記事を参考にしてます。 もっとWEB記事を探す習慣を付けること。 ーー Excelは画像処理に適したソフトではない。 次々要求が出てもVBAではお手上げでしょう。 もともとエクセルは、操作のソフトなので、マクロの記録を取って勉強するとか(本件のことではないが)。一部は、手動操作を取り入れるとか。もともとシートに貼りつけた画像は手動で動かせるので それを抑止しておかないといけないし、それはどうするのかな。 TopLeftCellというのが、設けられているが、小生は、今まで 注目してこなかった(勉強が狭かった)。

k0suke_suzuki
質問者

お礼

ありがとうございます。 まだまだ初心者のため、勉強していきます。

  • masnoske
  • ベストアンサー率35% (67/190)
回答No.2

言葉だと状況ががわかりません。 画像を貼ってください。

  • masnoske
  • ベストアンサー率35% (67/190)
回答No.1

私の環境では問題なく H列に追加されます. Win10 + Office2013 質問者の環境を開示されたほうが良いと思います.

k0suke_suzuki
質問者

補足

環境はWin7+Office2010です。 言葉足らずでしたので補足いたします。 H列に挿入はできるのですが 別の列に画像等があった場合、その画像を認識していまい スキップしてH列に画像が挿入されてしまいます。 (ちどり配置になってしまう) シート全体を認識しているのが問題だと思うので H列のみ認識するようにするにはどうすればよいでしょうか。