我不是程序员,但出于工作目的,我试图在excel中学习VBA代码,所以我有一个问题,是否可以缩短此录制的宏,例如补偿它或其他东西?
Range("B2").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(R[25]C[8]:R[25]C[9],R[25]C[9])"
Range("C2").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(R[25]C[9]:R[25]C[10],R[25]C[10])"
Range("D2").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(R[25]C[10]:R[25]C[11],R[25]C[11])"
Range("E2").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(R[25]C[11]:R[25]C[12],R[25]C[12])"
Range("F2").Select
.
.
.
.etc
答案 0 :(得分:1)
@FoxfireAndBurnsAndBurns提到了如何避免选择。除此之外,您在编码时还需要了解一些提示和技巧。只要您持续使用VBA代码,您就会在适当的时候发现它们。
提示:在代码中查找模式。如果需要,请使用循环执行重复的任务。在您的代码中,有一个模式。但是,不需要循环。您可以在一键通
的整个范围内输入公式您的代码可以一行编写!假设您要输入从Col B到Col F的公式。
Range("B2:F2").Formula = "=IFERROR(J27:K27,K27)"