dポイントプレゼントキャンペーン実施中!

Range("B3").Select
ActiveSheet.Pictures.Insert("abc.jpg").Select
???
Selection.FormulaR1C1 = "def"

上記のように画像を挿入、選択した後に
その前に選択していたセルを再度選択し直す方法を
お願いします。
もう一度、
Range("B3").Select
のように B3 と記述するのはなしでお願いします。

A 回答 (3件)

方法1


> Range("B3").Select
この段階で、セルアドレスを変数に取得しておく。
Range("B3").Select
A = Selection.Address
ActiveSheet.Pictures.Insert("abc.jpg").Select
Range(A).Select


方法2
> ActiveSheet.Pictures.Insert("abc.jpg").Select
挿入された図形の左上角の位置は、選択されたセルの左上角と一致している
はずですので、図形の TopLeftCell.Address を取得する。
Range("B3").Select
ActiveSheet.Pictures.Insert("abc.jpg").Select
A = ActiveSheet.DrawingObjects(Selection.Name).TopLeftCell.Address
Range(A).Select

などでもできますね。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2006/10/23 01:25

こんにちは。



Range("B3").Select
ActiveSheet.Pictures.Insert("abc.jpg").TopLeftCell.FormulaR1C1 = "def"

として一発で済ますか、セルを選択したいなら

Range("B3").Select
With ActiveSheet.Pictures.Insert("abc.jpg").TopLeftCell
  .FormulaR1C1 = "def"
  .Select
End With

こんな感じ。でも一番分かり易くやるなら、単純に画像挿入を一番最後に
すれば良いだけでは?

Range("B3").Select
Selection.FormulaR1C1 = "def"
ActiveSheet.Pictures.Insert("abc.jpg").Select
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2006/10/23 01:27

> Range("B3").Select


> のように B3 と記述するのはなしでお願いします。

この真意がわかりません。
手段はどうあれ、目的としては「セルを選択する」ですから。

それか
ActiveSheet.Pictures.Insert("abc.jpg").Select
の Select 自体が必要じゃなければ図を選択しない。
ActiveSheet.Pictures.Insert("abc.jpg")
だけにしておく。

いずれにせよ、局所的な要望じゃなくて流れとしてどうしたいのかを書いた方が望みの回答が得られると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2006/10/23 01:27

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