让我们一起探索一下这些藏在excel自动排序中的“小秘密”。-英雄云拓展知识分享
11074
2024-07-12
我有超过5 个具有相同格式的Excel文件,它们的列标题相同,并且都放置在同一文件夹,有甚么快捷的方法将它们合并到一个单独的Excel文件的一个工作表中?
假定工作簿文件结构以下所示。
其中,在文件夹“要合并的工作簿文件”中,有3个示例工作簿文件“测试1.xls、测试2.xls、测试3.xls”,将它们合并到工作簿“合并.xls”中。
在“合并.xls”工作簿中,有3个工作表。其中,“设置”工作表中的单元格B2中的数据为每一个工作簿中想要合并的工作表名,这里假定每一个工作簿中的工作表名相同;单元格B3为要合并的数据开始的行号。
在“导入工作簿名”工作表中将放置合并的工作簿的名称。
“合并工作表”就是我们要放置合并的数据的工作表。
完全的VBA代码以下:
‘ 放置导入工作簿名称的工作表
Private Const importedSheet AsString = “导入工作簿名”
‘放置合并数据的工作表
Private Const combinedSheet AsString = “合并工作表”
‘ 放置导入工作簿名称的行号
Private importPtr As Long
Sub main()
Dim response As Variant
response = MsgBox(“想要运行合并程序吗?” & vbCr & _
“这将擦除” & combinedSheet & “工作表中已前合并的数据”, _
vbYesNoCancel + vbDefaultButton3 +vbQuestion, “合并处理”)
If response = vbYes Then
Call selectXls
End If
End Sub
Private Sub selectXls()
‘ 合并数据的工作簿
Dim thisWb As Workbook
‘ 包括工作簿完全路径和文件名的数组
Dim xlsFiles As Variant
‘ 当前的工作簿文件路径和文件名
Dim xls As Variant
‘ 工作簿文件中(通用的)工作表名
Dim xlsCommonSheet As String
‘ 复制数据开始的行号
Dim startRowCopy As Long
‘ 粘贴数据开始的行号
Dim pastePtr As Long
On Error GoTo genericHandler
‘ 帮助加快代码处理速度
Application.EnableCancelKey = False
Application.Calculation =xlCalculationManual
xlsCommonSheet =Range(“Sheet_Name_to_Combine”)
startRowCopy = Range(“startRow”)
Set thisWb = Workbooks(ThisWorkbook.Name)
xlsFiles = Application.GetOpenFilename( _
“Micosoft Excel工作簿(*.xls*), *.xls*”, , _
“选择要合并的文件”, , True)
Application.ScreenUpdating = False
‘ 如果用户没有点击取消按钮
If IsArray(xlsFiles) Then
Sheets(combinedSheet).Select
pastePtr = startRowCopy
‘重置 & 清除数据
importPtr =
thisWb.Sheets(importedSheet).Cells.Clear
thisWb.Sheets(combinedSheet).Rows(pastePtr & “:” &Application.Rows.Count).Clear
For Each xls In xlsFiles
If thisWb.FullName <> xlsThen
Call processXls(pastePtr, xls,thisWb, xlsCommonSheet, startRowCopy)
End If
Next xls
MsgBox “处理成功”, vbInformation + vbOKOnly,”合并程序”
End If
Exit Sub
genericHandler: ‘ 毛病处理
thisWb.Activate
Call resetDefault
MsgBox “毛病号: ” & Err.Number & vbCr & _
“毛病说明: ” & _
Err.Description, vbInformation +vbOKOnly, _
“合并工作簿毛病报告”
End Sub
Private Sub processXls(ByRefpastePtr As Long, ByVal xls As Variant, _
ByVal thisWb AsWorkbook, _
ByVal xlsCommonSheet AsString, ByVal startRowCopy As Long)
‘ 打开的工作簿对象
Dim openWb As Workbook
‘ 工作表中最后一个数据单元格所在的行
Dim lastRowx As Long
‘ 打开工作簿
Workbooks.Open (xls)
Set openWb = Workbooks(ActiveWorkbook.Name)
With openWb.Sheets(xlsCommonSheet)
.Select
lastRowx = lastRow()
If lastRowx > Then
.Rows(startRowCopy &”:” & lastRow).Copy _
thisWb.Sheets(combinedSheet).Range(“A” & pastePtr)
pastePtr = pastePtr + (lastRowx -startRowCopy) + 1
‘ 导入数据的工作簿名
importPtr = importPtr + 1
thisWb.Sheets(importedSheet).Range(“A”& importPtr) = openWb.Name
End If
End With
‘ 关闭工作簿
Workbooks(openWb.Name).CloseSaveChanges:=False
End Sub
Private Function lastRow() AsLong
lastRow =
If WorksheetFunction.CountA(Cells) > Then
‘按行向后搜索
lastRow =Cells.Find(What:=”*”, After:=[a1], _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
End If
End Function
Private Sub resetDefault()
‘ 重置利用程序屏幕刷新和计算模式
Application.ScreenUpdating = True
Application.Calculation =xlCalculationAutomatic
End Sub
运行main进程,弹出以下所示的对话框。
选择“是”按钮,弹出以下所示的选择文件对话框。
导入到要合并的工作簿所在的文件夹,选择要合并的工作簿文件,单击“打开”按钮。如果一切顺利,则合并数据完成,并弹出以下所示的信息。
我们可以查看结果。在“导入工作簿名”工作表中,列出了已合并数据的工作簿名,以下所示。
在“合并工作表”工作表中,是合并后的数据,以下所示。
>>>>🚀🌟 点击注册 免费试用 更高级的-英雄云企业级云表单 🌟🚀 😃👉🌐>>>>
在现代企业管理中,数据的高效管理和处理至关重要。随着信息技术的不断发展,英雄云的云表单已经成为了提高数据录入、管理和分析效率的不可或缺的工具。让我们来深入探讨英雄云-云表单的几大优势。
基础字段:多样性满足业务需求
英雄云的云表单中包括了各种基础字段,如单行文本、多行文本、数字输入框、单选框、复选框、下拉框、下拉复选框、日期时间、分割线等。这些字段的多样性使用户可以根据具体的业务需求,轻松进行文本、数据和时间信息的录入或修改。例如,您可以使用单行文本字段录入员工姓名、产品型号等,或者使用下拉框进行多选,根据不同情况选择更加方便的字段类型。
高级字段:提升工作效率
英雄云的云表单还提供了高级字段,如地址、图片、附件、手写签名、手机、子表、关联数据、关联查询以及流水号。这些高级字段在基础字段的基础上升级,可帮助用户完成一些琐碎的工作。例如,使用地址字段可以避免逐字打字,而流水号字段可以自动生成规律性的编号,非常适用于合同编号生成等场景。
部门成员字段:精确管理与通讯录的关联
英雄云的部门成员字段允许企业对各个部门的成员进行精确管理。用户可以通过部门成员字段获取通讯录中的部门成员信息,应用于记录报销人、报销部门等场景。这些成员字段还细分为成员单选和成员多选,可根据具体需求在通讯录中选择一个或多个成员。
聚合表:数据处理更智能
英雄云的聚合表功能用于对已存在的表单数据进行聚合计算,从而得到一张聚合表,后续其他表单可调用聚合表进行数据联动、关联查询和关联数据等操作完成数据处理。这一功能可应用于多种场景,如进销存管理、财务管理和门店零售管理等,帮助企业完成数据处理,提高工作效率。
表单权限设置:灵活管理数据访问
英雄云的表单权限设置允许用户根据企业的具体需求管理表单的访问和操作权限。用户可以根据系统权限或自定义权限对不同成员或团队进行权限设置,以确保数据的安全和合规性。这一功能使企业能够根据变化的业务需求和团队结构,实时调整权限设置。
自定义打印模板:文档输出更便捷
英雄云的云表单支持自定义打印模板,可将表单数据转换为可打印的Word文档。用户可以根据自己的需求进行排版和编辑,将产品规格说明书等文档轻松生成。这一功能提供了一种标准化的文档输出方式,简化了信息整理的过程。
综合来看,选择英雄云的云表单意味着选择更智能、更灵活、更高效的数据管理工具。无论是提高工作效率,精确管理数据,还是实现数据处理,英雄云的云表单都能满足您的多样化需求,助力您的业务发展。
如果您正在寻找一款强大的云表单工具,不妨考虑英雄云,它将为您带来更多的便捷和智能,助您事半功倍。
免责声明:
本网址(www.yingxiongyun.com)发布的材料主要源于独立创作和网友匿名投稿等来源。此处提供的所有信息仅供参考之用。我们致力于提供准确且可信的信息,但不对材料的完整性或真实性作出任何保证。用户应自行验证相关信息的正确性,并对其决策承担全部责任。对于由于信息的错误、不准确或遗漏所造成的任何损失,本网址不承担任何法律责任。本网站所展示的所有内容,如文字、图像、标志、音频、视频、软件和程序等的版权均属于原创作者。如果任何组织或个人认为网站内容可能侵犯其知识产权,或包含不准确之处,请即刻联系我们进行相应处理。
发表评论
暂时没有评论,来抢沙发吧~