- ベストアンサー
エクセル・マクロ・画像を選択した後、元のセルを選択し直す
Range("B3").Select ActiveSheet.Pictures.Insert("abc.jpg").Select ??? Selection.FormulaR1C1 = "def" 上記のように画像を挿入、選択した後に その前に選択していたセルを再度選択し直す方法を お願いします。 もう一度、 Range("B3").Select のように B3 と記述するのはなしでお願いします。
- みんなの回答 (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 などでもできますね。
その他の回答 (2)
- KenKen_SP
- ベストアンサー率62% (785/1258)
こんにちは。 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
お礼
ありがとうございます。
- temtecomai2
- ベストアンサー率61% (656/1071)
> Range("B3").Select > のように B3 と記述するのはなしでお願いします。 この真意がわかりません。 手段はどうあれ、目的としては「セルを選択する」ですから。 それか ActiveSheet.Pictures.Insert("abc.jpg").Select の Select 自体が必要じゃなければ図を選択しない。 ActiveSheet.Pictures.Insert("abc.jpg") だけにしておく。 いずれにせよ、局所的な要望じゃなくて流れとしてどうしたいのかを書いた方が望みの回答が得られると思います。
お礼
ありがとうございます。
お礼
ありがとうございます。