vb整合多个excel表格到一张_如何使用VB实现多个excel表格合并在一个EXCEL表格里面...

展开全部

《vb整合多个excel表格到一张_如何使用VB实现多个excel表格合并在一个EXCEL表格里面...》

《vb整合多个excel表格到一张_如何使用VB实现多个excel表格合并在一个EXCEL表格里面...》

附件中有完整示例,运行 hb 后会弹出62616964757a686964616fe4b893e5b19e31333337373564选择合并文件夹的对话框,选择后会将被选目录下所有工作薄的工作表合并到一个新建工作薄,为区分方便,原工作薄中的所有工作表合并后的sheet名称以同一颜色显示,并以“原工作薄-原工作表”的格式命名sheet,以下为完整代码Private Sub hb()

Dim hb As Object, kOne As Boolean, tabcolor As Long

Set hb = Workbooks.Add

Application.DisplayAlerts = False

For i = hb.Sheets.Count To 2 Step -1

hb.Sheets(i).Delete

Next

Dim FileName As String, FilePath As String

Dim iFolder As Object, rwk As Object, Sh As Object

Set iFolder = CreateObject(“shell.application”).BrowseForFolder(0, “请选择要合并的文件夹”, 0, “”)

If iFolder Is Nothing Then Exit Sub

FilePath = iFolder.Items.Item.Path

FilePath = IIf(Right(FilePath, 1) = “\”, FilePath, FilePath & “\”)

FileName = Dir(FilePath & “*.xls*”)

Do Until Len(FileName) = 0

If UCase(FilePath & FileName) <> UCase(ThisWorkbook.Path & “\” & ThisWorkbook.Name) Then

Set rwk = Workbooks.Open(FileName:=FilePath & FileName)

tabcolor = Int(Rnd * 56) + 1

With rwk

For Each Sh In .Worksheets

Sh.Copy After:=hb.Sheets(hb.Sheets.Count)

hb.Sheets(hb.Sheets.Count).Name = FileName & “-” & Sh.Name

hb.Sheets(hb.Sheets.Count).Tab.ColorIndex = tabcolor

If Not kOne Then hb.Sheets(1).Delete: kOne = True

Next

.Close True

End With

End If

Set rwk = Nothing

FileName = Dir

Loop

Application.DisplayAlerts = True

End Sub

    原文作者:weixin_39835147
    原文地址: https://blog.csdn.net/weixin_39835147/article/details/111841304
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞