我正在尝试用自动填充替换foreach循环,以期加快速度。如何用Sheet(1)和Sheets(2)替换FormulaR1C1行中的特定工件名称(在本例中为“Sheet1”和“Sheet2”?)工作表名称不一定总是“Sheet1”和“Sheet2”所以我宁愿参考这些表,而不必使用特定的名称。
ActiveCell.FormulaR1C1 = "=('Sheet1'!RC-'Sheet2'!RC)/'Sheet2'!RC"
Selection.AutoFill Destination:=Range("D2:Z2"), Type:=xlFillDefault
这是我目前拥有的foreach循环,希望它有助于阐明我正在尝试做的事情:
Set rng1 = Range(Cells(2, 4), Cells(rowcount1, colcount1))
For Each cell In rng1
address = cell.address
val1 = Sheets(1).Range(address).Value
val2 = Sheets(2).Range(address).Value
If val1 = 0 Then
cell.Value = 0
ElseIf val1 = 0 And val2 = 0 Then
cell.Value = 0
Else
cell.Value = (val2 - val1) / val1
End If
Next cell
rowcount1和colcount1是Sheets(3)的rows.count和columns.count。
任何有助于我改进代码的建设性意见(不一定回答我的问题)也是受欢迎的。谢谢你的阅读。