VBA遍历所有sheet,找到前6位名称为“Daily&”的sheet,然后把符合条件的sheet里AD列数分别写入粘名为“月”的sheet中,写入顺序从C列开始依次往后
时间: 2023-07-15 11:13:12 浏览: 78
可以使用下面的 VBA 代码来实现遍历所有 sheet,找到前 6 位名称为“Daily&”的 sheet,并将符合条件的 sheet 里 AD 列数分别写入粘名为“月”的 sheet 中,写入顺序从 C 列开始依次往后:
```vb
Sub TraverseSheets()
Dim ws As Worksheet
Dim destWs As Worksheet
Dim lastCol As Long
Dim i As Long
'设置目标工作表
Set destWs = ThisWorkbook.Sheets("月")
'遍历所有工作表
For Each ws In ThisWorkbook.Worksheets
'判断工作表名称前 6 位是否为 Daily&
If Left(ws.Name, 6) = "Daily&" Then
'获取 AD 列数
lastCol = ws.Cells(1, Columns.Count).End(xlToLeft).Column
For i = 1 To lastCol
'将 AD 列数写入目标工作表
destWs.Cells(1, i + 2).Value = ws.Cells(1, i).Value
Next i
End If
Next ws
End Sub
```
在上述代码中,我们首先设置了目标工作表 destWs 为“月”,然后遍历所有工作表,判断工作表名称前 6 位是否为“Daily&”,如果是,则获取该工作表中 AD 列数并将其写入目标工作表 destWs 中从 C 列开始依次往后的单元格中。
阅读全文