下面我们将看一下Excel VBA中的一个程序,该程序可以将图纸从其他Excel文件导入一个Excel文件。
下载Book4.xlsx,Book5.xlsx并将它们添加到“ C:\ test \”
情况:
将以下代码行添加到命令按钮:
1.首先,我们声明两个String类型的变量,一个Worksheet对象和一个Integer类型的变量。
昏暗的目录作为 字符串,文件名作为 字符串,工作表作为工作表,总计作为 整数
2.关闭屏幕更新并显示警报。
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.DisplayAlerts = False
3.初始化变量目录。我们使用Dir函数查找第一个* .xl ?? 文件存储在此目录中。
目录=“ c:\ test \”
fileName = Dir(目录&“ * .xl ??”)
fileName = Dir(目录&“ * .xl ??”)
注意:Dir函数支持使用多个字符(*)和单个字符(?)通配符来搜索所有不同类型的Excel文件。
4.现在,变量fileName保存在目录中找到的第一个Excel文件的名称。添加Do While循环。
当 While FileName <>“”
循环
循环
将以下代码行(分别位于5、6、7和8)添加到循环中。
5.没有简单的方法可以从关闭的Excel文件中复制工作表。因此,我们打开Excel文件。
Workbooks.Open(目录和文件名)
6.将工作表从Excel文件导入import-sheet.xlsm。
对于 每个片在工作簿(文件名).Worksheets
TOTAL =工作簿( “进口sheets.xlsm”)Worksheets.count。
工作簿(文件名).Worksheets(sheet.Name).Copy _
后:=工作簿(“进口纸。 XLSM“)。工作表(总)
接着片
TOTAL =工作簿( “进口sheets.xlsm”)Worksheets.count。
工作簿(文件名).Worksheets(sheet.Name).Copy _
后:=工作簿(“进口纸。 XLSM“)。工作表(总)
接着片
说明:变量total跟踪import-sheet.xlsm的工作表总数。我们使用Worksheet对象的Copy方法复制每个工作表并将其粘贴到import-sheets.xlsm的最后一个工作表之后。
7.关闭Excel文件。
工作簿(文件名)。关闭
8. Dir功能是一种特殊功能。要获取其他Excel文件,可以再次使用不带参数的Dir函数。
fileName = Dir()
注意:如果没有其他文件名匹配,则Dir函数将返回长度为零的字符串(“”)。如此一来,Excel VBA将离开Do While循环。
9.打开屏幕更新并再次显示警报(在循环外部)。
Application.ScreenUpdating = 真实
Application.DisplayAlerts = 真实
Application.DisplayAlerts = 真实
10.测试程序。
结果: