EXCEL VBA – 如何使用Application.WorksheetFunction.CountA将自定义范围内的已填充单元格传递给“i”variables?

我需要给“i”variables分配一个数字。 此#应该是Worksheets("Offset").Range("AN20:AN3000")内填充单元格的数量Worksheets("Offset").Range("AN20:AN3000")

是 – 在这种情况下,“偏移”是工作表的名称。 这是我真正需要的。 在上述范围内有171个填充单元格,我需要将这个数字赋给“i”variables。 最好,我想实现这个使用Application.WorksheetFunction.CountA

这是我设法编码自己

 Sub celebrities_height_into_array() ' declare an array to hold celebrities height Dim height_array() As Integer Dim height_range As Range Dim i As Integer Set height_range = ThisWorkbook.Worksheets("Offset").Range("AN20:AN3000") ' I keep celebrities height in this range, in centimeters. i = Application.WorksheetFunction.CountA(Range(height_range)) End Sub 

后来我将把所有的高度加载到数组中。 这是我读过关于使用WorksheetFunction.CountA

这是我的工作表的样子。 在这里输入图像说明

这里是范围的结束。 在这里输入图像说明

你唯一的错误是额外的Range(

尝试下面的代码。 它应该工作。

 Sub celebrities_height_into_array() ' declare an array to hold celebrities height Dim height_array() As Integer Dim height_range As Range Dim i As Integer Set height_range = ThisWorkbook.Worksheets("Offset").Range("AN20:AN3000") ' I keep celebrities height in this range, in centimeters. i = Application.WorksheetFunction.CountA(height_range) End Sub 

height_range已经被定义为一个范围。