• ベストアンサー

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

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

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.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者に伝わるかどうか、文章を推敲されていますか? (別に怒っているわけではありませんよ。)

Shiojiri9999
質問者

お礼

いろいろありがとうございました。 また文章を推敲せずにアップしてしまい大変申し訳ありませんでした。 以後、ご質問させていただく際には気をつけてアップします。 ご教授いただいた内容ですが、先ほど実装し意図したチェックが出来ました。 ありがとうございました。

その他の回答 (1)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

こんな感じでどうでしょうか。 If ActiveSheet.Shapes.Count > 0 Then MsgBox "図形があります。" End If

Shiojiri9999
質問者

補足

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

関連するQ&A

  • エクセル:VBAでシート上のオートシェイプ以外の図形を消去したい。

    お世話になります。 ★VBAでシート上のオートシェイプ以外の図形を消去したいのです。 No.1902175で、エクセルシート上の図形の削除方法をいろいろ教えていただきました。今回は、そのときにはあてはまらなかった、「オートシェイプをのぞく図形をVBAで削除したい」のです。 補足:シートは毎月のある行事等の予定表です。オートシェイプにはマクロを登録しているため消したくありません。その他の図は季節の行事に関するクリップボード等の図で、担当者がシートから毎月手作業で削除していたものです 以上、よろしくお願いいたします。

  • エクセルVBAで直線図形(オートシェイプ)を書きたいのですが。

    エクセルVBAで直線図形(オートシェイプ)を書きたいのですが。座標の指定方法がいまひとつ分かりません。 マクロの記録で、座標数値の設定は分かるのですが、セルに対しての指定方法が分かりません。 図形をドラッグ指定したA1セルからC1セルまで直線を書きたいのです。セルへの始点終点の指定方法が有るのでしょうか。

  • オートシェイプ図形の角度をマクロで変えたい

    エクセルのオートシェイプで図形を作って、それをグループ化して、 A1のセルへ数値を入力するとシート1上にあるオートシェイプの角度が変化するようにしたいのです。マクロで出来るでしょうか。 シート上の図形は、Group25 です。 エクセル2000を使用しています。 よろしくお願いします。

  • EXCELのShape画像をVBAのフォームに表示するには

    EXCELのShape画像をVBAのフォームに表示するには はじめまして EXCEL2007-VBAを勉強中です。 EXCELのShape画像をVBAのフォームへ表示したいのですが、どのように書けば よろしいのでしょうか

  • オートシェイプの図形の高さ、幅をマクロで変えたい

    エクセルのオートシェイプで図形を作って、それをグループ化して、 A1(縦)A2(横)のセルへ数値を入力するとシート1上にあるオートシェイプの長さと幅が変化するようにしたいのです。マクロで出来るでしょうか。 シート上の図形は、Group25 です。 エクセル2010を使用しています。 よろしくお願いします。

  • エクセルのオートシェープについて

    エクセルのオートシェープで「グループ化ではなく、図形の結合」って出来ないですか? (○と△を合体させて一つの金魚のような図形にすることです。) VBAを使う方法でもそのようなことが出来ればありがたいのですが、そのサンプルプログラムを探しても見当たりませんでした。 方法知ってる方いましたら教えてください。

  • 図形をグループ化するEXCEL VBAコード

    お尋ねいたします。エクセルワークシート上の図形をすべてグループ化するVBAコードを教えてください。宜しくお願い致します。

  • エクセルVBAの図形について

    図形を使用するVBAをはじめて作成中ですが、わからないことがありましたので質問します。 (1)オートシェイプに独自のプロパティーを設定したいのですが良い方法はありますか? (便宜上、NAMEプロパティーで代用しておりますが複数のプロパティを設定したいのです) (2)ONACTIONプロパティに設定しているマクロに対し、 どの図形から実行されたのか知りたいのですが、良い方法はありますか? (3)ある図形からコネクトされている別の図形を特定する方法はありますか? どれかひとつへの回答でもかまいませんので教えてください。

  • エクセルで図形やオートシェイプの位置がずれるのは仕方ないのでしょうか?

    エクセルで図形やオートシェイプの位置がずれるのは仕方ないのでしょうか? 四角形や楕円、オートシェイプなどの図形を文書に載せると、テキストとの位置関係が必ずずれるのですが、これはなんとかならないのでしょか? バッチリ位置を合わせたつもりでも、印刷したり印刷プレビューで見たりするとずれてしまいます。 どうすればいいでしょか。

  • エクセルで図形の位置を知るには

    エクセルのシートにオートシェイプで描画した図形の位置を知るにはどうすればいいのでしょうか。 Top=×× Left=×× などを知ることが可能なのでしょうか。

専門家に質問してみよう