VB.net Office Solution - 访问工作表中命名范围的值

时间:2011-09-01 04:05:00

标签: vb.net office-interop excel-2010

我正在努力将Excel VBA项目转换为VB.net Office解决方案。在VBA中访问工作表中的命名范围非常简单     Sheet1.Range( “NamedRange”)
会给你那个细胞的价值。

在VB.net中,我尝试了几种不同的东西,都以失败告终。

我从这里开始。 http://msdn.microsoft.com/en-us/library/aa168292(v=office.11).aspx#excelobj_link9

我正在使用Visual Studio Excel 2010文档模板之一,并设法在工作表上的命名区域中设置值。该模板为工作表上的每个选项卡创建一个类,因此我能够这样做。

Me.Range("A5").Value

我遇到的问题是如何访问工作表上的范围,特别是我无法弄清楚在访问工作表之前需要创建哪些对象。以下是什么不起作用:)

Public Sub GetInputs()
    Dim XlSheet1 As Excel.Worksheets
    Xlval = XlSheet1("Sheet1").Range("NamedRange").Value

这给我留下了空引用...我已经尝试了其他一些东西并得到了其他几个错误。任何推动正确的方向将非常感激。

1 个答案:

答案 0 :(得分:1)

以下代码在单独的代码模块中编译和运行。关键是使用Globals对象来访问Excel应用程序对象:

Dim xlWorksheet As Excel.Worksheet
Dim xlNamedRange As Excel.Range
Dim xlVal As Object

xlWorksheet = Globals.ThisWorkbook.Worksheets("Sheet1")
xlNamedRange = xlWorksheet.Range("NamedRange")
xlVal = xlNamedRange.Value
MessageBox.Show(xlVal)
相关问题