我的细胞参考有问题,我不知道是否存在解决方案。
使用VBA代码我使用语法将对不同单元格的引用写入单元格:
activecell.formula = "=" & Cells(A1).address
现在我需要为数千个单元格复制此公式。每个单元格应引用顺序cell (A1,A2,A3....A120..)
。
我遇到的问题是使用
Cells(A1).address
它修复了Cells(A1)
。当我使用自动填充功能时,我有数千个单元都引用相同的cells(A1)
,而我需要引用是动态的,并且每次引用下一个cell (A2,A3,A4..)
。我需要使用自动填充功能,因为如果我使用loop
和固定参考在每个单元格上编写公式,则代码运行需要数小时(如前所述,有数千个单元格)
然后我应该使用相对参考格式:
activecell.formulaR1C1 = ...
但是细胞(A1)并不总是与我的活细胞相同。
通过VBA我可以计算每次来自activecell
的距离,但如何以R1C1
表示法使用此数据?
所以,让我们说使用
row.count
函数我可以计算我要引用的第一个单元格,(此时间)在第100行和第3列。所以,我有:lastrow = 100,column = 3.请注意,行100有所不同每次我运行宏。我的activecell
是cells(5,5)
这是我想要使用的:
Sub problemsolved ()
Dim lastrow as string
Dim RowL as string
Dim CoL as string
lastrow = activesheet.cells(rows.count, 1).End(xlUp).row
cells(5,5).select
Rol = lastrow - 5
Col = 3 -5
activecell.formulaR1C1 = "=R[Rol]C[Col]"
selection.autofill Destination:=Range(cells(5, 5), cells(10005, 5))
end sub
假设lastrow = 100 我需要得到以下结果:
cell(5,5): =cells(100,3)
cell(6,5): =cells(101,3)
cell(7,5): = cells(102,3)
.....
cell(10005,5): = cells(10100,3)
当然,我已尝试过语法:
activecell.formulaR1C1 = "=R[lastrow]C[3]"
但它没有用,所以我该怎么做? 有谁有想法?
感谢
答案 0 :(得分:0)
使用:
callbackFunction(dashboard)
无需自动填充
所以
With ActiveSheet
.Range(.Cells(5,5),.Cells(10005,5)).FormulaR1C1 = "=R[" & RowL & "]C[" & col & "]"
End With