エクセル2003です。
オートシェープの基本図形の「額縁」に以下のマクロを登録しました。
マクロを呼び出したオートシェープに表示してあるテキストを取得しようとするものです。
Sub test()
x = Application.Caller
MsgBox ActiveSheet.Shapes(x).Characters.Text
End Sub
ところが実行時エラーとなってしまいます。
試行錯誤の結果、ShapesをDrawingObjectsに変えるとうまくいきます。
なぜでしょうか?
No.1ベストアンサー
- 回答日時:
Shapses(x) が テキストを含むとは限らないからでは?
MsgBox ActiveSheet.Shapes(x).Name は通用します。
DrawingObjectsは互換用隠しオブジェクトですので使いたくないなら下記とか。
Sub aaa()
x = Application.Caller
MsgBox ActiveSheet.Shapes(x).Name
MsgBox ActiveSheet.Shapes(x).TextFrame.Characters.Text
End Sub
> Shapses(x) が テキストを含むとは限らないからでは?
仰せの通りですね。理解できました。
> MsgBox ActiveSheet.Shapes(x).TextFrame.Characters.Text
TextFrameを使うんですね、ありがとうございました。
うまくいきました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/06/19 10:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Visual Basic(VBA) Powerpointでランダムな数字の結果を表示するマクロ 2 2023/08/04 10:04
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/03/01 15:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
Excel VBA のdebug(F8キー) が...
-
エラーになってないのにVBA...
-
複数ファイルにある特定のシー...
-
マクロ 実行ボタンを押さずに...
-
【Excel VBA】エラー番号400
-
EXCELのセルへ、デジタル時計を...
-
Excelを開いた時に表示さ...
-
Excel文字列中の太字(Bold)部分...
-
エクセルで複数のシートをまと...
-
EXCEL2000 VBA マクロ実行中に...
-
GetAsyncKeyState(32) の動作が...
-
Excelのワークシート上に検索窓...
-
マクロ ブックをマクロなしでコ...
-
VBAが止まらない
-
エクセル グラフの軸の最小値最...
-
エクセルのマクロでワードのマ...
-
Excelマクロでオプションボタン...
-
マクロ実行後元に戻すことは
-
ワードからエクセルへ貼り付け...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
複数ファイルにある特定のシー...
-
マクロ 実行ボタンを押さずに...
-
EXCELのセルへ、デジタル時計を...
-
Excelを開いた時に表示さ...
-
エラーになってないのにVBA...
-
Excel VBA のdebug(F8キー) が...
-
ワードからエクセルへ貼り付け...
-
エクセルのマクロ機能で前のシ...
-
Excelのワークシート上に検索窓...
-
モジュール内のマクロを全て実...
-
エクセル グラフの軸の最小値最...
-
EXCEL 複数のシートの同一の位...
-
エクセルで複数のシートをまと...
-
【Excel VBA】エラー番号400
-
Excelマクロでオプションボタン...
-
Wordの画面を左右にスクロール...
-
マクロ ブックをマクロなしでコ...
-
Wordで「原稿用紙○枚」を換算す...
-
AccessのテーブルデータをExcel...
おすすめ情報