使用 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
答案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