【发布时间】:2018-02-22 15:43:05
【问题描述】:
我是新手,渴望了解如何操作背后的原因,我有一些 C 经验。我希望 VBA 中的这一行在 C 列中应用公式,包含与在另一列 A 中找到的数据相同的行数
为什么top方法失败,而bottom方法有效?
括号内的范围方法期望什么? (只有范围或字符串我应该让 Lrow 成为一个字符串?)
如何使用 Lrow 作为范围对象来实现这一点?
任何关于“VBA 看到某些东西时在想什么”的一般规则或提示(如在 C 中的 & = address of, * = value of 非常感谢)
Dim Lrow As Integer, twentyDayAVG As Double
' Set Lrow = Range("A3").End(xlDown)
Lrow = Range("C3").End(xlDown).Row
twentyDayAVG = Evaluate("=AVERAGE($A$2:$A$21)")
Range("C2:C" +Lrow+").Formula = "=A2-" & twentyDayAVG
'This one works fine
Range("C2:C" & Range("A3").End(xlDown).Row).Formula ="=A2-" & twentyDayAVG
【问题讨论】:
-
Range("C2:C" & Lrow) -
和
Lrow = Range("A3").End(xlDown).Row -
另外,最好声明
Dim Lrow As Long而不是 Integer -
@ScottCraner 非常感谢先生