- ベストアンサー
エクセルで画像の取り込みとマクロのクリア方法
- エクセルで画像を取り込む方法とマクロで画像をクリアする方法について説明します。
- 画像の取り込みでは、指定したファイル名の画像を読み込むことが可能です。
- マクロで画像をクリアする際には、Shape1.Deleteと記述しますが、エラーが発生する場合があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
私も十分はわからないが、何度も回答で言っているが、本には重要そうに書いてない点がある。 それは シートセルの情報と 画像とは 根本的に違うということです。 ふつうVBAの初学者はセルの値を扱います。 そのうち書式、その後数式、コメントなど すなわち、セルをコピーした後 編集ー形式を選択して張り付けー貼り付けの区画にあものです。 ーー 一方、画像はシートに乗っかっているもので、1セルの見えている位置にあってもセルの情報ではない。 ただRange("C3").top=画像.Topのように登録は出来るのですっぽり納めることが出来るが、セルの情報ではない。画像ー>セルのアドレスを繋ぐメソッド・プロパティは作られているが。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q118870131 のような回りくどい回答になるのもそれを示しているが、質問者の質問発想もピントハズレのところがあると思う。 ーーー そしてシート上の図形(オブジェクト)を特定しないと、Deleteも何も出来ないのだが、なかなか試行と調べまくりをしないとわからない 経験をしている。HelpやMSDNの読みこなしまで堪能な人なら到達は早いでしょうが。 ーー Shapeで張り付いた場合は Sub test01() ActiveSheet.Shapes(1).Delete End Sub のように指定すれば出来ます。全部なら Sub Shape_All() If ActiveSheet.Shapes.Count > 0 Then ActiveSheet.Shapes.SelectAll Selection.Delete End If End Sub ーー Sub test04() ActiveSheet.DrawingObjects.Delete End Sub とりあえずここまで。
お礼
すごく奥が深いというか、もっと基礎の基礎から勉強して 見ようと思います。ものすごくためになりました! エクセル(VBA)を習おうとして講習の値段を見たら8万とか11万とか するので本と、ネットで調べていく方法しかないと思っています。 お金がたまったら講習にいこうかと・・・ ありがとうございました。
補足
>それと、写真をファイル名で検索して取り込むのことは可能ですか? >Sub クリック写真表示() >Dim shape1 As Object >Set shape1 = ActiveSheet.Shapes.AddPicture("C:\Users\Iida\Pictures\10001.bmp", _ >False, True, 549, 62, 161, 121) >Range("P4").Select >End Sub ↑何ですが、 ファイルから呼び出す値をセルから検索する? 例えば、ファイルに入ってる写真データ(10001.JPEG)を A1に記入すれば、C4あたりに表示するといった命令?