我正在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”对象中。 请指导我如何将过滤后的记录存储在一个范围内。我也不想复制到其他地区。
答案 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公式>定义名称