全网响应式网站,如何做网站页面免费的,建立网站需要多少钱就蓷y湖南岚鸿推荐,设计师之家工作背景#xff1a;多个工作薄存在冲突的名称#xff0c;需快速合并
困难点#xff1a;工作表移动复制时#xff0c;若有冲突的名称#xff0c;会不断弹出对话框待人工确认
思路#xff1a;利用代码确认弹出的对话框
关键代码#xff1a;Application.DisplayAlerts …工作背景多个工作薄存在冲突的名称需快速合并
困难点工作表移动复制时若有冲突的名称会不断弹出对话框待人工确认
思路利用代码确认弹出的对话框
关键代码Application.DisplayAlerts False
Sub Merge_WB()
文件合并Dim WBs_Source As Variant 工作薄序列
Dim s As Integer 工作薄序列下标选择工作薄
WBs_Source Application.GetOpenFilename(fileFilter:xlsx文件(*.xls*),*.xls*, Title:选择Excel文件, MultiSelect:True)
If TypeName(WBs_Source) Boolean Then Exit SubDim WB_Source As Workbook
Dim WS_Source As Worksheet 打开工作簿
For s 1 To UBound(WBs_Source)设定当前打开工作簿名称为WB_Source Workbooks.Open WBs_Source(s), UpdateLinks:0 不更新外部链接Set WB_Source GetObject(WBs_Source(s))逐一复制粘贴工作表重要代码避免工作表复制过程中名称冲突下行代码可以默认确认EXCEL弹出的对话框不用手动逐个点击Application.DisplayAlerts FalseFor Each WS_Source In WB_Source.SheetsWS_Source.Copy after:ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)NextApplication.DisplayAlerts Ture关闭源工作簿WB_Source.Close SaveChanges:False删除当前工作薄的无效名称AvoidingNameInvalid WB_Source:ThisWorkbookNextEnd SubFunction AvoidingNameInvalid(WB_Source As Workbook)
删除当前工作薄的无效名称Dim nmSource As Name删除当前打开工作薄的无效名称For Each nmSource In WB_Source.NamesIf InStr(1, nmSource.RefersTo, #REF!) 0 ThenOn Error Resume Next 忽略错误以防删除时出现问题Debug.Print nmSource.Name : deleted 在立即窗口查看即将删除的名称nmSource.DeleteOn Error GoTo 0 恢复正常的错误处理End IfNext nmSourceEnd Function