- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBA/シェープの文字列を取得)
エクセルVBA/シェープの文字列を取得
このQ&Aのポイント
- エクセルVBAを使用して、シェープに書かれた文字列を取得する方法について教えてください。
- エクセル2010のBOOK内に配置されたボタンやチェックボックス、ラベルやテキストボックスなどのシェープの中に記載された文字列を一覧にまとめたいです。
- 提供されたVBAコードにおいて、sp.Captionやsp.Shapes.Range.Character.Textを使用してシェープに書かれた文字列を取得しようとしましたが、エラーが発生しました。どのようにすれば取得できるでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
http://blog.ch3cooh.jp/entry/20081124/1244599969 こちらが参考になりませんでしょうか。
お礼
ありがとうございます。 .TextFrame.Characters.Textとするのですね。 TextFrameが存在しないShapeもあるのでエラー回避をいれて以下でうまくいきました。 Sub obj_Check() Dim st Dim sp Dim i As Long For Each st In Sheets For Each sp In st.Shapes i = i + 1 With Sheets("Sheet3") .Cells(i, "A").Value = sp.Name On Error Resume Next .Cells(i, "B").Value = sp.TextFrame.Characters.Text On Error GoTo 0 .Cells(i, "C").Value = st.Name End With Next sp Next st MsgBox i & "個のChec終了" End Sub