vba的宏和模块,关于excel表的合并

来源:互联网 发布:ios优酷网络连接失败 编辑:程序博客网 时间:2024/05/16 23:51
Sub 工作薄间工作表合并()
Dim FileOpen
Dim X As Integer
Application.ScreenUpdating = False
FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xls),*.xls", MultiSelect:=True, Title:="合并工作薄")
X = 1
While X <= UBound(FileOpen)
Workbooks.Open Filename:=FileOpen(X)
Sheets().Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
X = X + 1
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
errhadler:
MsgBox Err.Description
End Sub
这是多个文件合成到一个文件,不同的sheet,打开文件夹后要使用shift或者ctrl键选择所有需要的文件,一起哗,拉进来。

Sub hbgzb()
Dim sh As Worksheet, flag As Boolean, i As Integer, hrow As Integer, hrowc As Integer
flag = False
For i = 1 To Sheets.Count
 If Sheets(i).Name = "合并数据" Then flag = True
Next
If flag = False Then
Set sh = Worksheets.Add
sh.Name = "合并数据"
Sheets("合并数据").Move after:=Sheets(Sheets.Count)
End If
For i = 1 To Sheets.Count
If Sheets(i).Name <> "合并数据" Then
 hrow = Sheets("合并数据").UsedRange.Row
 hrowc = Sheets("合并数据").UsedRange.Rows.Count
 If hrowc = 1 Then
  Sheets(i).UsedRange.Copy Sheets("合并数据").Cells(hrow, 1).End(xlUp)
  Else
  Sheets(i).UsedRange.Copy Sheets("合并数据").Cells(hrow + hrowc - 1, 1).Offset(1, 0)
  End If
End If
Next i

End Sub

前提是sheet里面的目录项一致。还要选择这些目录项,和深度。

试过的哦,还可以的。

0 0
原创粉丝点击