Excel中的命名范围获取计数但不获取值

时间:2014-09-01 07:49:09

标签: excel vba excel-vba

我为下表中的特定列创建了一个命名范围(表名:"表2和#34;)。

Data Table

在另一个单元格(Cell F23)中,我创建了一个命名区域" DNR_Product"使用公式>名称管理员>新 在参考公式框中提供以下内容:

=OFFSET(Sheet3!F23,0,0,COUNTA(Table2[Product]),1)

名称管理器如下所示: Name Manager screenshot 我在命名范围内看不到任何值。但是,当我运行以下代码段时,命名范围的计数会正确显示(在本例中为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

但它自己的单元格没有我期望的数据。 Blank Named Range Data

这种方法有问题吗?

更新

我期望的值应如下所示: enter image description here

1 个答案:

答案 0 :(得分:0)

你实际上没有告诉VBA将这些信息放在任何地方,它会执行计数并返回值13,但是你不会告诉它将它放在一个单元格中。

oSht.Range("F23").value = iCount会将其放在图片中突出显示的单元格中(或者您可以使用正确的名称范围)