- 下面代码遍历所有工作表,并给其单元格A1赋值100
Sub 宏3()
Dim Sht As Worksheet
For Each Sht In Worksheets
Sht.Range("a1") = 100
Next
End Sub
- 下面代码同样效果,用的是工作表索引的方法。Worksheets.Count返回的是工作表的个数。
Sub 宏4()
Dim i As Long
For i = 1 To Worksheets.Count
Worksheets(i).Range("a1") = 100
Next
End Sub
- 练习:多工作表汇总,将结构相同的所有工作表的工资数据汇总的‘汇总’工作表。
练习
Sub 宏666()
Dim Sht As Worksheet
Dim LastRow As Long
Dim LastRow1 As Long
Sheets("汇总").Cells.Clear '清空工作表
Sheets("汇总").Range("a1:b1") = Array("姓名", "工资") '添加标题
'遍历工作表
For Each Sht In Worksheets
'如果工作表的名称不是'汇总'
If Sht.Name <> "汇总" Then
With Sht
'获取目标工作表的最后一行行号
LastRow = .Cells(Rows.Count, 1).End(xlUp).Row
'获取汇总工作表最后一行行号+1,存放数据
LastRow1 = Sheets("汇总").Cells(Rows.Count, 1).End(xlUp).Row + 1
'复制工作表数据到汇总工作表
.Range("a2:b" & LastRow).Copy Sheets("汇总").Range("a" & LastRow1)
End With
End If
Next
End Sub
Paste_Image.png