アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。
GetObjectで取得したWorkbookのいずれかのシートにs_rngと名前が定義されたRangeがあるとします。このs_rngがあるシート名を取得するにはどうしたらよいでしょうか?
Set Obj = GetObject(fPath)
With Obj.Worksheets("?").Range(s_rng)
~処理~
End With
のようにしたいのですが?の部分がうまく取得できなくて困っています。
GetObjectを使わずに
Set sFile = Workbooks.Open(Filename:=fPath)
With Range(s_rng)
~処理~
End With
とすればシート名がわからなくてもできるのですが、処理するファイル数が多いのでなるべくファイルを開けずにやりたいと思っています。よい方法があったらご教示ください。

A 回答 (1件)

こんばんは。



名前が付けられたセル範囲は、RefersToRangeプロパティでとれます。

  For Each Rng In Obj.Names(s_rng).RefersToRange

それから今回はシート名は必要ないでしょうが、一応

  MsgBox Obj.Names(s_rng).RefersToRange.Parent.Name

こんな感じでどうでしょうか。
 
    • good
    • 0
この回答へのお礼

.RefersToRange.Parent.Name
で取得できるんですね!うまくいきました。
どうもありがとうございました。

お礼日時:2007/03/20 09:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!