|
本帖最后由 釜底抽薪 于 2019-2-14 15:36 编辑
表头跟表尾处理 的不是很好 哥哥们帮小弟修改下,详细看附件 看图片 只要一个表头,表头有4行吗,结果出来一行 不合并表尾
代码入下
Sub 多表合并3()
Dim RMax As Integer, CMax As Integer
Dim Sht As Worksheet, ShtR As Integer
For Each Sht In Worksheets
If Sht.Name <> "汇总" Then
With Sht.Range("A4") '设定为每个表的A4单元开始操作
ShtR = Sheets("汇总").UsedRange.Rows.Count '统计汇总表中是不是未使用,如果是空白就返回1
RMax = .End(4).Row - 1 '获取每个表格最大行,4从开始向下,3为最大行向上去行
CMax = .End(2).Column '获取每个表格最大列,2从开始向右,1为最大行向左取列
Rem 如果汇总为空格,就复制开始表格第一行到汇总表的第一行
If ShtR = 1 Then .EntireRow.Copy Sheets("汇总").Cells(ShtR)
Rem 从每个表格的A1单元格开始复制之指定的行列范围到汇总表的对应最大行+1
.Offset(1).Resize(RMax, CMax).Copy Sheets("汇总").Cells(ShtR + 1, 1)
End With
End If
Next Sht
Rows.SpecialCells(xlCellTypeBlanks).Select '选取空的行
Selection.EntireRow.Delete '选择的整行删除
Rem 下句代码 自动调整列宽
Sheets("汇总").Cells.EntireColumn.AutoFit
End Sub
|
|