经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » VB.Net » 查看文章
合并多个工作表到新工作表中
来源:cnblogs  作者:JenneyForis  时间:2019/9/26 10:45:30  对本文有异议

将多个工作表中的内容合并到一个工作表的B列之后,并且A列为表名

完整程序

  1. Sub HeBing()
  2. Dim CProw
  3. Dim Endrow
  4. Dim i
  5. Dim n
  6. Application.ScreenUpdating = False
  7. For i = 1 To Sheets.Count
  8. Endrow = Range("A2000").End(xlUp).Row
  9. CProw = Sheets(i).Range("A2").End(xlDown).Row
  10. n = Sheets(i).Name
  11. If Sheets(i).Name <> ActiveSheet.Name Then
  12. Sheets(i).Range("A2", "D" & CProw).Copy Cells(Endrow + CProw, 2)
  13. Range("A" & (Endrow + CProw), "A" & (Endrow + CProw + CProw)).Value = n
  14. End If
  15. Next i
  16. Range("B1").Select
  17. Columns("B:B").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
  18. Application.ScreenUpdating = True
  19. End Sub

解释

  1. Endrow = Range("A2000").End(xlUp).Row

定义活动工作表的A列最后一个非空白行,行数
Range("A2000") : 表格A列2000行
End(xlUp): ctrl + ↑

No. A B
1 123
2 234
3 345 Endrow
...
2000 row A2000
  1. CProw = Sheets(i).Range("A2").End(xlDown).Row

CProw : 其他工作表的内容复制的行数
Sheet(i).Range("A2"): 选定sheet(i) [指非当前活动工作表] 的A列2行
End(xlDown).row: ctrl + ↓

  1. Sheets(i).Range("A2", "D" & CProw).Copy Cells(Endrow + CProw, 2)

Sheet(i) 工作表A2到D[CProw] 区域的内容 复制到 活动工作表 [Endrow+ CProw] 行,B列
range("a1","d5"): (X --选定区域)

A B C D
X X X X
X X X X
X X X X
X X X X
X X X X

Cells( "row num", "column num") or Cells(1,"B") B列1行

  1. Columns("B:B").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

以B列为判定条件,删除空白行

原文链接:http://www.cnblogs.com/jenneyforis/p/11589419.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号