【Excel技巧】合并多个Sheet为一个的方法

【合并多个 Sheet】 

合并之前,请先创建一个空白的 Sheet 作为合并目标 Sheet ,这个 Sheet 必须是第一个 Sheet 哦。 
如果不合并标题行(比如第一行)则 j=1 改为 j=2 
如果数据不是从第一行,或者第一列开始的,请修改 j=1 及 k=2 两行的参数。 
比如 j=2 k=3 表示从 第2行,第三列开始的数据。 

Sub CombineSheet() 

Dim i, j, k, n As Integer 
n = 1 
For i = 2 To ThisWorkbook.Sheets.Count 
For j = 1 To ThisWorkbook.Sheets(i).UsedRange.Rows.Count 
For k = 1 To ThisWorkbook.Sheets(i).UsedRange.Columns.Count 
ThisWorkbook.Sheets(1).Cells(n, k).Value = ThisWorkbook.Sheets(i).Cells(j, k).Value 
Next k 
n = n + 1 
Next j 
Next i 

End Sub 

意外惊喜:合并 Sheet 的功能会自动去掉 超链接(HREF) 标记。 
实际上,为了去掉 Excel 的所有超链接,也可以使用这个函数啊。 


【合并多个Excel文件】 

Sub CombineWorkbooks() 
Dim FilesToOpen, ft 
Dim x As Integer 
Application.ScreenUpdating = False 
On Error GoTo errhandler 

FilesToOpen = Application.GetOpenFilename _ 
(FileFilter:=“Micrsofe Excel文件(*.xls), *.xls“, _ 
MultiSelect:=True, Title:=“要合并的文件“) 

If TypeName(FilesToOpen) = “boolean“ Then 
MsgBox “没有选定文件“ 
End If 

x = 1 
While x <= UBound(FilesToOpen) 
Set wk = Workbooks.Open(Filename:=FilesToOpen(x)) 

wk.Sheets().Move after:=ThisWorkbook.Sheets _ 
(ThisWorkbook.Sheets.Count) 
x = x + 1 
Wend 

MsgBox “合并成功完成!“ 

errhandler: 
End Sub 


【说明】

其实合并多个Excel文件的功能可以通过合并多个sheet的功能实现,可以先把多个Excel文件的所有sheet都复制到一个新的Excel文件中,然后再使用合并多个sheet的功能实现合并。

文章来源: http://www.315soft.com/topics/1008.aspx 

你可能感兴趣的:(业余爱好,excel,合并sheet,合并工作簿)