Dim WB As Workbook
Set WB = Workbooks.Open("foo\bar.xlsx", , True)
Debug.Print (WB.Names("named_cell").Value)
WB.Close (False)
戻りセルC377
で
='Sheet'!$C$377
代わりの値。
代わりにセルの値を受け取ることはできますか?方法の
Dim WB As Workbook
Set WB = Workbooks.Open("foo\bar.xlsx", , True)
Debug.Print (WB.Names("named_cell").Value)
WB.Close (False)
戻りセルC377
で
='Sheet'!$C$377
代わりの値。
代わりにセルの値を受け取ることはできますか?方法の
WB.Names("named_cell")
がName
オブジェクトを返す場合、このオブジェクトはRefersToRange
プロパティを持ちます。これは、Nameオブジェクトによって参照されるRangeオブジェクトを返します。 https://msdn.microsoft.com/en-us/library/office/ff834918.aspxを参照してください。
ので
Debug.Print WB.Names("named_cell").RefersToRange.Value
もMalfunction of Excel-VBA own function when open other excel-file参照してください。
それだけです!ありがとうございました! – speendo
カップル:
Debug.Print Range("Named_Range").Value
Debug.Print [Named_Range].Value '// This uses the evaluate method
それは(それはあなたが最後に開いたブックだとしてそれがあるべき)アクティブなブックにだ場合は、シートオブジェクトと名前付き範囲を修飾する必要はありません。
代わりに 'Debug.Print(WB.Worksheets(" NameOfSheet ")。Range(" named_cell ")。Value)'を試してください。 – Ralph
ありがとう!これは機能します。しかし、シート名を指定せずに名前付き範囲の参照にアクセスできるのは少し奇妙ですが、内容はありません。本当に方法はありますか? – speendo