• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBA でExecuteExcel4Macro("GET.OBJECT(48,)

Excel VBAでフォームツールの参照元を取得する方法について

このQ&Aのポイント
  • Excel VBAを使用して、ワークシートに配置したフォームツールの参照元を取得する方法について詳しく教えてください。
  • 以前に教えていただいたマクロを使用して、同じワークシート上のフォームツールを参照元として取得できましたが、別のシートで試すとエラーが発生します。
  • どのように修正すれば、別のシートでもフォームツールの参照元を取得することができるでしょうか?

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Set ns = Worksheets.Add でアクティブシートが変わってしまいますが、 obj_n = obj.Name はあくまでオブジェクト名のみしか与えません。 従ってワークシート(ns)にオブジェクト(ラベル)がないのでエラーになるのでしょう。 Set ws = ActiveSheet Set ns = Worksheets.Add ws.Activate '←追加 もう一度wsをアクティブししてあげたら出来ましたよ。 他に方法があるかも知れませんが、ご参考になれば。

merlionXX
質問者

お礼

ExecuteExcel4Macro("GET.OBJECT(48,""" & obj_n & """)") の部分にどうやってシート名をもたせるか悩んでおりました。 ws.Labels(obj_n) とやってもエラーになるし・・・・。 でもws.Activateでとりあえずは解決です。ありがとうございました。 ただ、Activateしないでやる方法はないのでしょうか?

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

ANo.1です。 >ただ、Activateしないでやる方法はないのでしょうか? 試してみたのですが元々【ExecuteExcel4Macro】をよく理解していないので、 どのようにシート名を当てるのかがわかりませんでした。 ExecuteExcel4Macro http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLG,GGLG:2005-51,GGLG:ja&q=ExecuteExcel4Macro

merlionXX
質問者

お礼

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

関連するQ&A