使用循环将公式插入到每个工作表的同一单元格中

使用循环将公式插入到每个工作表的同一单元格中

使用 VBA 的循环功能,我想要将相同的公式输入到工作簿中每个工作表的相同单元格中。

我尝试了以下代码,但它不会循环遍历所有工作表。它只会更新默认情况下选中的工作表:

Sub insertformula()

Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
    Range("D7").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(R[-5]C[-1],'SHEET ALL WILL REFERENCE'!C[-2]:C[-1],2,FALSE)"

Next

End Sub

我遗漏了什么导致这段代码无法循环遍历所有工作表?

谢谢你,

答案1

您无需使用 VBA 或循环即可完成此操作。如果您在主工作表中,请按住 Control 键一次单击工作表标签,直到每个标签都突出显示。

在此处输入图片描述

当所有要复制公式的工作表都突出显示时,您可以在单元格中输入公式,它将自动复制到相应工作表的准确单元格中。完成后,请确保单击单个工作表以取消选择其他工作表。

答案2

你不需要环形。这将同时将公式应用于所有工作表:

Sub hfdjs()
    Sheets.Select
    Range("D7").Activate
    ActiveCell.FormulaR1C1 = "=VLOOKUP(R[-5]C[-1],'SHEET ALL WILL REFERENCE'!C[-2]:C[-1],2,FALSE)"
End Sub

编辑#1:

假设我们有5具有默认名称的工作表,我们想将公式塞进除前两张工作表之外的所有工作表中。

Sub FormulaBlaster()
    Sheets(Array("Sheet3", "Sheet4", "Sheet5")).Select
    Range("B9").Select
    Selection.Formula = "=1+2"
End Sub

答案3

您没有指定要使用哪个范围。您也可以指定范围的公式,而无需先选择它

Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
    ws.Range("D7").FormulaR1C1 = "=VLOOKUP(R[-5]C[-1],'SHEET ALL WILL REFERENCE'!C[-2]:C[-1],2,FALSE)"

Next

相关内容