excel - 复制每个工作表中的所有行
问题描述
我需要代码方面的帮助。我想在 Excel 的一张表中合并几张表中的所有行,但标题除外。
这是代码:
Dim ws As Worksheet
Dim sh As Worksheet
Set sh = Sheets("P&L_consolidation")
For Each ws In Sheets
If ws.Name <> "Zero's" Then
ws.Range("A2", ws.Range("U"& Rows.Count).End(xlUp)).Copy sh.Range("A"& Rows.Count).ENd(xlUp)(2)
End if
Next ws
如果工作表中有一些数据,则此代码有效,但问题是如果某些工作表仅包含标题,则此代码复制该标题并将其粘贴到合并的工作表中。在那种情况下,我只想跳过那张纸。
请问,有人可以帮我吗?
解决方案
像这样的东西应该适合你:
Sub tgr()
Dim wb As Workbook
Dim ws As Worksheet
Dim wsDest As Worksheet
Set wb = ActiveWorkbook
Set wsDest = wb.Worksheets("P&L_consolidation")
For Each ws In wb.Worksheets
If ws.Name <> "Zero's" Then
With ws.Range("A2", ws.Cells(ws.Rows.Count, "U").End(xlUp))
If .Row >= 2 Then .Copy wsDest.Cells(ws.Rows.Count, "A").End(xlUp).Offset(1)
End With
End If
Next ws
End Sub
推荐阅读
- c++ - Notifying wxSizer of dynamic layout changes
- sorting - 通过 Delphi 在 OpenOffice Calc 中排序
- github - 如何停止在 GitHub 上克隆我的应用程序文件?
- wordpress - Wordpress 多站点语言切换器插件以显示不同语言的帖子 url
- php - 展开数据库中的值
- lombok - lombok SuperBuilder 设置默认值
- git - git 在 VSCode 远程容器上运行不佳
- laravel-7 - 使用 laravel 7 将多个图像下载为 zip 文件
- javascript - 本地 eslint 不检查所有文件
- angular - 没有重载匹配此调用。角2到角12