2016-09-20 10 views
2

VBAでは、別のブックのシートをstring-nameで参照したいと思います。VBAに完全修飾Excelシート名を渡す方法は?

次の戻りエラー:

Set oSht = Worksheets("'[My Book.xlsb]MySheet'") 
Set oSht = Evaluate("'[My Book.xlsb]MySheet'") 

私が言うことができます知っている:

Set oSht = Workbooks("My Book.xlsb").Sheets("MySheet") 

が、ワークブックのコレクションを使用しない方法を模索します。

答えて

4

Range object.Parentを使用できます。

これは、.Rangeオブジェクトが特定のセルを記述する幅広い種類のテキストを受け入れ、解釈するためです。個別のセルまでドリルダウンして、それを使用して.parentを呼び出すと、ワークシート参照を達成できます。

My Book.xlsbが閉じられる可能性がある場合は、Workbook.Name propertyだけでなく、Workbook.FullName propertyに相当するものを使用してください。

関連する問題