vba 循环遍历工作簿中的所有工作表
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/39581487/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Loop through all worksheets in workbook
提问by Alex Ross
I want to repeat this code on all the worksheets in a workbook.
我想在工作簿中的所有工作表上重复此代码。
There may sometimes be 1-2 worksheets sometimes 50+.
有时可能有 1-2 个工作表,有时 50+。
Sub HoursTotal()
'
' HoursTotal Macro
'
Range("F2").Select
ActiveCell.FormulaR1C1 = "=SUM(C[-1])"
Range("F1").Select
ActiveCell.FormulaR1C1 = "Total Hours"
Range("G1").Select
End Sub
回答by BerticusMaximus
This should do it.
这应该这样做。
Sub HoursTotal()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Range("F2").FormulaR1C1 = "=SUM(C[-1])"
ws.Range("F1").FormulaR1C1 = "Total Hours"
ws.Range("G1").Select 'I don't think you need this line but I included it anyways
Next
End Sub
回答by PartyHatPanda
Simple modification of your current code should do it:
对当前代码进行简单修改即可:
Sub HoursTotal()
'
' HoursTotal Macro
'
Dim ws as Worksheet
For Each ws in Worksheets
ws.Range("F2").Select
ActiveCell.FormulaR1C1 = "=SUM(C[-1])"
ws.Range("F1").Select
ActiveCell.FormulaR1C1 = "Total Hours"
ws.Range("G1").Select
Next ws
End Sub
But here's what it looks like without the Select
's
但这里是没有Select
's 的样子
Sub HoursTotal()
'
' HoursTotal Macro
'
Dim ws as Worksheet
For Each ws in Worksheets
ws.Range("F2").FormulaR1C1 = "=SUM(C[-1])"
ws.Range("F1").FormulaR1C1 = "Total Hours"
ws.Range("G1").Select
Next ws
End Sub
回答by abe973t
You need to activate the worksheet so that excel can make changes to it.
您需要激活工作表,以便 excel 可以对其进行更改。
`Sub HoursTotal() Dim ws As Worksheet
`Sub HoursTotal() Dim ws As Worksheet
For Each ws In Worksheets
ws.Activate
ws.Range("F2").FormulaR1C1 = "=SUM(C[-1])"
ws.Range("F1").FormulaR1C1 = "Total Hours"
ws.Range("G1").Select 'I don't think you need this line but I included it anyways
Next
End Sub`
结束子`