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

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

完整程序

Sub HeBing()
Dim CProw
Dim Endrow
Dim i
Dim n


Application.ScreenUpdating = False


For i = 1 To Sheets.Count
    Endrow = Range("A2000").End(xlUp).Row
    CProw = Sheets(i).Range("A2").End(xlDown).Row
    n = Sheets(i).Name
    
    If Sheets(i).Name <> ActiveSheet.Name Then
    Sheets(i).Range("A2", "D" & CProw).Copy Cells(Endrow + CProw, 2)
    Range("A" & (Endrow + CProw), "A" & (Endrow + CProw + CProw)).Value = n
    End If
Next i
Range("B1").Select
Columns("B:B").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Application.ScreenUpdating = True


End Sub

解释

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
CProw = Sheets(i).Range("A2").End(xlDown).Row

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

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行

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

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

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

 友情链接: NPS  问卷模板