Excel VBA:引用工作表索引号的公式语法(相对而非名称)



我正在开发一个宏,该宏将过滤数据库(每天更新(并计算特定的公式。每次运行宏时,都会使用过滤后的信息创建一个新的图纸(唯一命名(,并在另一张图纸上执行计算。

我在创建语法正确的宏时遇到问题。每次运行宏时,我需要引用的筛选数据都位于工作表#3(唯一命名(上。我是VBA的新手,不理解将工作表(索引(引用为R1C1公式中的工作表所需的语法。现在,我的代码是这样的:

Dim LR As Long
LR = Worksheets(3).Cells(Rows.Count, 1).End(x1Up).Row  
Range("G6").Select
ActiveCell.FormulaR1C1 = _ 
"=COUNTIF(='Worksheets(3)'!R6C5:R" & LR &"C5,R[-1]C"

如果Years(可变长度(列等于R[-1]C,则该代码正在计数,R[-1]C是一个包含某一年份的单元格,并将在单元格G6中显示计数。

在这种情况下,是否可以使用工作表(索引(引用?否则,我如何才能完成引用没有名称的工作表的任务?我需要引用一个"name"变量吗?

您有一个额外的=符号,似乎缺少了一个右括号,但是。Address external:=true产生了一个很好的范围引用。

Dim LR As Long, str as string
with Worksheets(3)
LR = .Cells(Rows.Count, 1).End(xlUp).Row 
str = .range(.cells(6, 5), .cells(lr, 5)).address(external:=true, ReferenceStyle:=xlR1C1)
end with
Range("G6").FormulaR1C1 = _ 
"=COUNTIF(" & str & ", R[-1]C)"

相关内容

  • 没有找到相关文章

最新更新