Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 是否可以缩短录制的宏?_Excel_Vba - Fatal编程技术网

Excel 是否可以缩短录制的宏?

Excel 是否可以缩短录制的宏?,excel,vba,Excel,Vba,我不是一名程序员,但我正在努力学习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

我不是一名程序员,但我正在努力学习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

@FoxfireAndBurnsAndBurns提到了如何避免选择。此外,在编写代码时,您需要知道一些提示和技巧。如果您继续使用VBA代码,您将在适当的时候发现它们

提示:在代码中查找模式。如果需要,使用循环执行重复任务。在代码中,有一个模式。但是,不需要循环。您可以一次输入整个范围内的公式

您的代码可以写在一行中!假设您想输入从B列到F列的公式

Range("B2:F2").Formula = "=IFERROR(J27:K27,K27)"
是的,请查收