- 締切済み
Excel マクロを実行するたびにVBEが起動
マクロを実行する度(ショートカットキーを設定しています)、 VBEが起動されるのですが、 これを失くす方法を教えて下さい。 閉じる作業が面倒で困っています。 VBA自体は単純なもので、正常に動作しています。 下記の記述だけです。 Application.Goto Reference:="画像リサイズ" On Error Resume Next Selection.Width = Selection.TopLeftCell.Width Selection.Height = Selection.TopLeftCell.Height
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 申し訳ないのですが、こちらが知りたいことは書かれていないようですので、こちらの想像で書かせていただきます。確認バージョンは、2003までです。 画像は、Webなどからクリップボードに入れて、Excelのワークシートに、貼り付けているように思えます。「画像リサイズ」とは、名前登録なのだと思いました。 他にも書かれているのか、そのコードが全てなのかは分かりませんが、ただ、私が言えるのは、実際、そのようなコードは、VBAを書く立場からすると、ありえないなって思うだけです。偶然が、そのコードを可能にしているのだろうとは思います。 Sub test1() '見本セルサイズにそろえ、その「見本セルサイズ」に、画像の左上端が掛かっている場合 Dim pct As Object Dim rng As Range Set rng = Range("画像リサイズ") For Each pct In ActiveSheet.Pictures If Not Intersect(rng, pct.TopLeftCell) Is Nothing Then pct.Width = pct.TopLeftCell.Width pct.Height = pct.TopLeftCell.Height End If Next pct Set rng = Nothing End Sub Sub test2() '見本セルサイズにそろえ、その「見本セルサイズ」に、画像の左上端が掛かっていない場合 Dim pct As Object Dim rng As Range Set rng = Range("画像リサイズ") For Each pct In ActiveSheet.Pictures pct.Width = rng.Width pct.Height = rng.Height Next pct Set rng = Nothing End Sub
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 >マクロを実行するたびにVBEが起動 >VBA自体は単純なもので、正常に動作しています。 ? マクロは、エラーが出ていないとしても、ざっとみた感じでは、コードは仕事を果たさずに素通りしているような気がします。言葉で説明していただかないと、マクロの意味が分からないですね。 "画像リサイズ" というのは、オブジェクトを指しますね。 まず、Goto で出来ますか?その下のセルではないでしょうか? しかし、Selection.TopLeftCell とはあっても、もし図形ではないとすると、TopLeftCell というプロパティはないように思います。それで問題がないとするなら、バージョンが違ったら出来るようになるのでしょうか?コードが、さっぱり読めないです。
補足
ご回答ありがとうございます。 エクセルで、特定のセルに写真画像を取り込む際、 そのセルの大きさに合わせて画像を取り込みたく、 こういったマクロを書いています。 マクロを実行すると、 写真はセルの大きさにピッタリ変わるので 動作的には不満はないのです。 ただその度にVBEが起動するので閉じる作業が大変です。 何が間違ってるか、またどうすればよいか お解りでしたら教えて下さいm(_ _)m マクロ初心者のため詳しいことは説明できないかもしれません。。。