当前位置:首页 > 办公设计 > Office教程 > 手动选择文件,并将选择文件中的数据合并到一张工作表

手动选择文件,并将选择文件中的数据合并到一张工作表

1年前 (2025-05-24)Office教程1650

本文为《别怕,Excel VBA其实很简单(第3版)》随书问题参考答案

改写后的过程如下:

Sub 合并多工作簿所有工作表的数据()
Application.ScreenUpdating = False
Dim DataArr As Variant, DataWb As Workbook, DataSht As Worksheet
Dim EndRow As Long, ToSht As Worksheet, ToRng As Range
Dim FileName As Variant '要合并的工作簿名称
Dim a As Long, b As Long
Set ToSht = ThisWorkbook.Worksheets(1)
ToSht.Rows("2:1048576").Clear '清除原有数据
FileName = Application.GetOpenFilename(filefilter:="Excel工作簿文件,*.xls?", Title:="请选择文件", MultiSelect:=True)
If TypeName(FileName) = "Boolean" Then Exit Sub
Dim Fil As Variant
For Each Fil In FileName
Workbooks.Open FileName:=Fil
Set DataWb = ActiveWorkbook
For Each DataSht In DataWb.Worksheets
EndRow = DataSht.Range("A1048576").End(xlUp).Row
DataArr = DataSht.Range("A2").Resize(EndRow - 1, 8).Value
Set ToRng = ToSht.Range("A1048576").End(xlUp).Offset(1, 0)
For a = 1 To UBound(DataArr, 1) '将数组中超过15位的数字转为文本
For b = 1 To UBound(DataArr, 2)
If Len(DataArr(a, b)) > 15 Then
DataArr(a, b) = "'" & DataArr(a, b)
End If
Next b
Next a
ToRng.Resize(UBound(DataArr, 1), 8).Value = DataArr
Next DataSht
DataWb.Close savechanges:=False
Next Fil
Application.ScreenUpdating = True
MsgBox "合并完成!"
End Sub

扫描二维码推送至手机访问。

欢迎转载或分享本篇文章。

本文链接:https://www.jcba123.com/article/1451

分享给朋友:

“手动选择文件,并将选择文件中的数据合并到一张工作表” 的相关文章

Excel表格太宽,怎么打印在一张纸上?

Excel表格太宽,怎么打印在一张纸上?

在使用Excel打印表格的时候,经常会遇到这种情况,表格太宽,一张纸打印不下,两张纸空白太多,显得很浪费。有没有什么办法能够将这样的表格缩放到一张纸上面打印出来呢?     这里给大家分享几种比较常用的方法!   01、调整宽度...

“比较和合并工作簿”灰色选项不能用?90%人不知道这个神技的用法!

“比较和合并工作簿”灰色选项不能用?90%人不知道这个神技的用法!

相信许多小伙伴都不知道,其实Excel中自带有一项“比较和合并工作簿”功能,因为该功能一直都没有在我们的选项卡中出现过。就算有些小伙伴无意间看到该功能,它也是灰色不可用状态,所以知道的人并不多。该功能为什么是灰色不可用? 今天,易老师就来带大家一起看看被EXCEL隐藏起来的“比较和合并...

Excel切片器的使用,不仅好用,而且美观的筛选功能!

Excel切片器的使用,不仅好用,而且美观的筛选功能!

前几天,小汪老师有给大家讲解过在Excel中筛选功能的使用,今天,再来分享一种更为高端的筛选,那就是切片器。不像筛选功能那么麻烦,Excel切片器功能可以直接生成多个按钮,只需点几下,就能轻松得到我们想要的结果。     表格转为超级表 Excel切片器必须...

将流程图进行到底,PPT中带图片的流程图

将流程图进行到底,PPT中带图片的流程图

在制作PPT的时候,我们经常会将一些有结构性的内容,用流程图来展示出来。说到流程图,大多数情况下很多人都会选择文字形式的流程图,但在PPT里面,我们可以尽量少文字,能够用图片体现出来是最好不过。所以,易老师今天就来和各位一起探讨一下带图片的流程图,这项功能在07或之前的版本中是木有的。 插入S...

Excel算年龄,这些公式会不会?

Excel算年龄,这些公式会不会?

如下图所示,希望根据B列的出生日期和C列的统计截至日期,来计算两个日期之间的间隔,希望得到的结果是xx年xx个月xx天的形式。 要计算两个日期之间的间隔,那就非DATEDIF函数莫属了。这个函数的写法为: =DATEDIF(开始日期,结束日期,返回的间隔类型) 第1参数和第2参数,可以引...

一次性搞懂Excel引用方式

一次性搞懂Excel引用方式

在说引用方式之前,有必要先说说公式的复制。 当咱们输入一个公式后,能够快速将公式复制到具有相同运算规则的其他单元格。 比如下图中,在D2单元格里使用公式“=B2*C2”计算出土豆的金额。 那底下的白菜、辣椒怎么算呢? 如果像下面这样操作,那肯定是二逼青年了: D3输入公式=B3*C3,回...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。