• ベストアンサー

エクセル2010のvbaについて

Image1.picture = LoadPicture() 上のImage1を変数にすることはできますか? WithやActiveSheet.Shapes.Range(Array(""))なども実行しましたが 同じエラーしか出ません (オブジェクトは、このプロパティまたはメソッドをサポートしていません) 回答お願いします

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

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

シート上のImageコントロールですね。 名前やIndexで指定して変数に格納したいという事でしょうか。 Dim o As OLEObject Set o = ActiveSheet.OLEObjects(1) 'or("Image1")など o.Object.Picture = LoadPicture("") ..のように OLEObject 型に格納して、そのObjectプロパティのPictureプロパティで設定します。 Shape型で受ける場合は Dim s As Shape Set s = ActiveSheet.Shapes(1) s.OLEFormat.Object.Object.Picture = LoadPicture("") や s.DrawingObject.Object.Picture = LoadPicture("") ..ともできますが、素直に前者の例のOLEObjectを使って ActiveSheet.OLEObjects(1).Object.Picture = LoadPicture("") としたほうが良いでしょうね。 #ver2010に限らずver2003などでも共通。

atamanotaisou1
質問者

お礼

ありがとうございました 解決しました

関連するQ&A

専門家に質問してみよう