• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:オブジェクトの選択(単一/複数選択、グループ))

オブジェクトの選択によるグラフ操作マクロの作成

end-uの回答

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

Option Explicit Private col As Collection Sub test()   Dim c      Set col = New Collection   Call chkTypename(Selection)   If col.Count > 0 Then     For Each c In col       Debug.Print c     Next   End If   Set col = Nothing End Sub Function chkTypename(x)   Dim xi   Select Case TypeName(x)             Case "ChartArea"         col.Add x.Parent.Parent.Name       Case "ChartObject"         col.Add x.Name       Case "DrawingObjects"         For Each xi In x           Call chkTypename(xi)         Next       Case "GroupObject"         For Each xi In x.ShapeRange.GroupItems           Call chkTypename(xi)         Next       Case "Shape"         If x.Type = msoChart Then           col.Add x.Name         End If       Case Else         'Debug.Print TypeName(x)   End Select End Function こんな感じで。 基本的には、TypeName関数を使って調べると良いかと。 複数選択時のSelectionは"DrawingObjects"になりますから そこから再度、単体別にチェックすれば良いです。 GroupObjectについては.ShapeRange.GroupItemsをチェックすれば良いですが 各GroupItemはTypeName"Shape"しか返さないので Shape.Type が msoChart かどうかを追加で調べてます。

関連するQ&A

  • イラレでグループ化されたオブジェクトを選択

    イラレCS5を使っています。 複雑な形状をした複数のオブジェクトがグループ化されたオブジェクトがあるとします。 これの一部を選択したいのですが、 ダイレクト選択ツールを使って、Shiftキーを押しながら選択していくと グループ化されたオブジェクトの中で複数のオブジェクトを同時に選択することが出来ます。 しかしながら、例えば、A、B、Cというオブジェクトを選択した状態で C、D、Eというオブジェクトを選択すると、 Cの選択が外れてしまいます。 簡単なオブジェクトだとCだけ選択し直せば良いのですが、 複雑なオブジェクトだとこういう操作は難しくなってしまいます。 どうすれば、A、B、Cというオブジェクトを選択した状態で C、D、Eというオブジェクトを選択してもABCDEすべてのオブジェクトが 選択出来ますでしょうか?

  • Word2010でオブジェクトをグループ化する

     Word2010で複数の図形をグループ化する方法を教えてください。 ホーム~オブジェクトの選択~カーソルをドラックしてオブジェクトの周囲に選択範囲の四角形が出来ないので次のグループ化に進めません。 複数の図形をシフトを押しながら一つ一つ選択をすればグループ化することはできるのですが・・・ それでは、複数有る細かい図形はうまく選択するのが難しいので オブジェクトの周囲に範囲選択の四角形を作る良い方法がありましたら教えてください。

  • Word グループ化したオブジェクトの選択

    テキストボックス複数個とオートシェイプをグループ化しています。 この図のアンカーを固定したくて、「オブジェクト」を選択しようとマウスで右クリックすると、テキストボックスだけが選択されたり、オートシェイプだけが選択されたりと、なかなか思い通りになりません。 どうすればいいでしょう? 2002を使っています。 描画キャンバスは使っていません。

  • WORD2007で複数のJPG等オブジェクトの選択方法

    WORD2003までは、画面上にある複数のJPGやBMPなどの画像ファイルは白抜き矢印の「オブジェクトの選択」で簡単に選択でき、これにより一括削除やグループ化などができました。これにワードアートが加わっても同様にできました。 しかしWORD2007ではこれができないようです。画面上に2つのJPGと一つのワードアートがあり、それぞれの文字列の折り返しは「前面」とした場合、ホーム→右端の選択から「オブジェクトの選択」をすると1つのワードアートしか選べません。JPGは無視されます。 何かやり方がありましたらご教授のほどお願い致します。

  • VBA 図形グループ化後オブジェクト名取得

    2種類以上のオートシェープ選択し、グループ化した後に、そのグループ化した図形のオブジェクト名を取得したいです。私の取得の流れです。 (1)すでにグループ化前の図形は複数選択されている。 (2)グループ化後には、グループ図として選択されたままになっているはず。 (3)下記でオブジェクト名が取得できるはず。   Selection.ShapeRange.Name ですが、グループ化処理後に、自動的に選択が図形からはずされてしまい、エラーとなってしまいます。 エクセルシート上に他にもグループ化された図形が複数あるため、今対象にしているグループ化した直後の図形のオブジェクト名をどう取得すればよいかがわからないでいます。知りたいのはあくまで、今グループ化したそのオブジェクト名になります。

  • 選択した特定のチャートオブジェクトのみにマクロ

    選択した特定のチャートオブジェクトのみにマクロ VBA初心者です。 現在、1つのシート中に15程度のグラフチャートがありますが、そのうち、選択した特定のグラフチャートのみに縦横軸の最大値最小値を設定する(統一する)マクロを実行したいと考えております。 このとき、どのようにしたら選択した特定のグラフのみにマクロを適用できるかがわかりません。 ご教授お願いいたします!!

  • Excelでグループ化オブジェクトにマクロ登録

    Excelで複数のオブジェクト(オートシェイプ)をグループ化したものにマクロを登録したいのですが、何回やっても登録できません。 どうやれば登録できるのでしょうか?

  • エクセルオブジェクトの有無の確認方法

    VBAでマクロを作成してます。 指定した名前のオブジェクト(たとえばグラフ)が存在しない場合の処理を加えたいのですが、可能でしょうか?

  • VS2008(ASP.NET)で、コントロールを複数選択するには?

    Visual Studio2008 ASP.NETについての質問です(言語:Visual Basic) VS2005のASP.NETでは、Ctrlキーを押しながらコントロールオブジェクトをクリックすると、コントロールオブジェクトを複数選択することができました。 今回、VS2008の評価版、「Visual Studio 2008 Professional Edition」をダウンロードしてASP.NETを動かしてみましたが、上記の操作でコントロールオブジェクトを複数選択することができません。 質問内容は、VS2008のASP.NETで、コントロールオブジェクトを複数選択するにはどのような操作が必要か、というものです。 (例えば、テキストボックスを複数選択し、一括で文字列を右詰にしたい、などの処理を行いたいと考えています) 以上、どうぞよろしくお願い致します。

  • Word2010で「オブジェクトの選択」が機能しません。2003互換モ

    Word2010で「オブジェクトの選択」が機能しません。2003互換モードでは機能します。複数図形の一括選択ができずに困っています。バグじゃないかなとも思えるのですが。