Excel VBA存储库标识输出以进行进一步操作

时间:2011-07-16 10:44:49

标签: excel vba

我正在VBA中为excel编写应用程序。使用一些条件并通过以下功能计算记录数,这些功能正常。

   cnt = appExcel.Application.CountIfs(R1, AuditType, R2, "Fail", UserRange1, UserName & "*")

这里R1,R2和UserRange1是描述单个单元格的Range类型。 如果我们打印

R1.Address  '$E:$E
R2.Address ' $M:$M so on.

我在“cnt”变量中得到了这些条件中存在的行数。

我需要进一步操作,例如从上面的单元格范围中搜索一些自定义单元格。为此,我需要将这些地址存储在“Range”对象中。   请指导我如何将过滤后的记录存储在一个范围内。我也不想复制到其他地区。

2 个答案:

答案 0 :(得分:1)

通过在VBA中声明Name对象,然后将其RefersTo值设置为该地址,可以向工作表添加新范围。此示例添加了所需的声明和代码来执行此操作。它假定您对R1范围中包含常量的单元格感兴趣:

Dim rngFiltered As Excel.Range
Dim nmNew As Excel.Name

'...

Set rngFiltered = R1.SpecialCells(xlCellTypeVisible)
Set nmNew = ws.Names.Add(Name:="NewRange", RefersTo:="=" & rngFiltered.Address)

答案 1 :(得分:0)

如果我理解你的意思,请插入一个定义所引用范围的命名范围。

Excel 2003插入>名称>定义

Excel 2010公式>定义名称