码迷,mamicode.com
首页 > 其他好文 > 详细

合并多个工作表到新工作表中

时间:2019-09-26 11:52:56      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:ade   cti   ble   空白行   eve   程序   解释   special   false   

将多个工作表中的内容合并到一个工作表的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列为判定条件,删除空白行

合并多个工作表到新工作表中

标签:ade   cti   ble   空白行   eve   程序   解释   special   false   

原文地址:https://www.cnblogs.com/jenneyforis/p/11589419.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!