#楼主# 2021-8-18

跳转到指定楼层
本帖最后由 米老鼠 于 2021-8-18 17:47 编辑

今天刚好要将所有客户名单导出来,做个客户在全国分布的情况视图。但是我们2逼系统导出全量数据就会报网络超时,估计数量过大,只能5000个客户导一次,经过N次导出,终于全部导完了,但是要把它们放到一个EXECEL中。于是:


1、将需合并的Excel文件放在同一个文件夹中。
2、打开新建的Excel文件,按 Alt + F11 键,打开宏,选择视图→代码窗口。
3、将下面的代码拷贝粘贴到代码窗口中:
Sub sheets2one()
'定义对话框变量
Dim cc As FileDialog
Set cc = Application.FileDialog(msoFileDialogFilePicker)
Dim newwork As Workbook
Set newwork = Workbooks.Add
With cc
If .Show = -1 Then
Dim vrtSelectedItem As Variant
Dim i As Integer
i = 1
For Each vrtSelectedItem In .SelectedItems
Dim tempwb As Workbook
Set tempwb = Workbooks.Open(vrtSelectedItem)
tempwb.Worksheets(1).Copy Before:=newwork.Worksheets(i)
newwork.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".xls", "")
tempwb.Close SaveChanges:=False
i = i + 1
Next vrtSelectedItem
End If
End With
Set cc = Nothing
End Sub

4、点击菜单“运行”—“运行子过程/用户窗体”。
5、在弹出选择对话框中,选择要批量合并的Excel文件,点击“确定”即可合并为一个Excel工作簿。
6、点击“确定”后,运行合并即可。

转播转播 分享淘帖
回复

使用道具

  • TA的每日心情
    擦汗
    2022-7-19 15:41
  • 58

    主题

    3214

    帖子

    1431

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    1431

    最佳新人活跃会员热心会员

    吧主vodobai 发表于 2021-8-19 13:59:00
    不是复制粘贴么
    回复

    使用道具 举报

  • TA的每日心情
    可爱
    2024-4-4 13:20
  • 96

    主题

    1504

    帖子

    88

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    88

    热心会员最佳新人

    米老鼠 发表于 2021-8-19 14:59:39

    20多个表,每个几万行,你试试,电脑就死机了。
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2022-7-19 15:41
  • 58

    主题

    3214

    帖子

    1431

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    1431

    最佳新人活跃会员热心会员

    吧主vodobai 发表于 2021-8-19 22:06:29
    米老鼠 发表于 2021-8-19 14:59
    20多个表,每个几万行,你试试,电脑就死机了。

    50包邮
    回复

    使用道具 举报

  • TA的每日心情
    可爱
    2024-4-4 13:20
  • 96

    主题

    1504

    帖子

    88

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    88

    热心会员最佳新人

    米老鼠 发表于 2021-8-24 13:39:55

    先给钱,我把数据EMAIL给你。哈哈哈哈哈
    回复

    使用道具 举报