プロが教えるわが家の防犯対策術!

VBAのロジックでEXCEL上にShape図形があるかないかをチェックするには

EXCEL2007-VBAを勉強中です。
EXCELシート上にShape図形があるかないかをチェックするには
どのように書くのでしょうか

どうぞ宜しくお願いします。

A 回答 (2件)

図形にはTopLeftCell と BottomRightCell プロパティがあります。


左上隅
MsgBox ActiveSheet.Shapes(1).TopLeftCell.Address
右下隅
MsgBox ActiveSheet.Shapes(1).BottomRightCell.Address


こんな感じでどうでしょうか。

Dim i As Integer

For i = 1 To ActiveSheet.Shapes.Count
If ActiveSheet.Shapes(i).TopLeftCell.Address = "$C$10" Then
MsgBox "セル$C$10に図形を発見しました"
End If
Next i

ちょっとレベルが上がりますが、下記でkeithinさんの回答が参考になります。
エクセルで指定セル範囲内の画像・オートシェイプ・値をマクロを使って削除
http://qa.mapion.co.jp/qa5824633.html


>情報が少なくすみませんでした。
>セル指定を行い、指定したセルにShape図形があるかないかを調べる方法を
少ないというよりも、間違い、レベルだと思いますです。
本文から、捕捉に書かれた、真の意図、を推測することは私には無理です。
アップする前に、意図が第3者に伝わるかどうか、文章を推敲されていますか?
(別に怒っているわけではありませんよ。)
    • good
    • 1
この回答へのお礼

いろいろありがとうございました。

また文章を推敲せずにアップしてしまい大変申し訳ありませんでした。
以後、ご質問させていただく際には気をつけてアップします。

ご教授いただいた内容ですが、先ほど実装し意図したチェックが出来ました。
ありがとうございました。

お礼日時:2010/04/30 20:03

こんな感じでどうでしょうか。



If ActiveSheet.Shapes.Count > 0 Then
MsgBox "図形があります。"
End If

この回答への補足

ありがとうございます。
情報が少なくすみませんでした。
セル指定を行い、指定したセルにShape図形があるかないかを調べる方法を
ご存知でしたらご教授お願いします。

補足日時:2010/04/29 23:20
    • good
    • 2

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

このQ&Aを見た人はこんなQ&Aも見ています