我为下表中的特定列创建了命名范围(表名称:“Table2”)。Excel中的命名范围获取计数但不是值
在另一个小区(小区F23),我创建一个命名的范围 “DNR_Product” 使用公式>名称管理器>新 提供在指式框以下:
=OFFSET(Sheet3!F23,0,0,COUNTA(Table2[Product]),1)
名称管理器如下所示: 我在命名范围中看不到任何值。但是,当我运行以下代码片段时,命名范围的计数正确显示(在本例中为13)。
Sub printRangeCount()
Dim strRangeName As String
strRangeName = "DNR_Product"
Dim oSht As Worksheet
Set oSht = ActiveWorkbook.Worksheets("Sheet3")
Dim iCount As Integer
iCount = oSht.Range(strRangeName).Rows.Count
MsgBox iCount
End Sub
但它自己的单元没有我期望的数据。
方法有什么问题吗?
更新
的我想到应该类似于下面的值:
@让FrançoisCorbett我更新了我的问题,以显示预期的数据值。谢谢。 – Ayusman 2014-09-01 08:07:10
你不需要为你的表创建一个新的命名范围 - 只需命名该表(它在你的名字管理器中作为Table2)。它在VBA中作为Worksheet的ListObject成员可用。 – citizenkong 2014-09-01 08:38:18