在婚恋网站做翻译好吗,宣传网,河南建筑信息一体,网站seo优化发布高质量外链前言
本节会介绍通过VBA实现打开其他excel文件#xff0c;包括模糊匹配文件名称、循环同时打开多个文件#xff0c;并获取工作表及工作簿进行数据操作后#xff0c;对打开的文件进行保存并关闭操作。 一、打开固定文件名称的文件 场景说明#xff1a; 1.新建一个宏文件VBA…前言
本节会介绍通过VBA实现打开其他excel文件包括模糊匹配文件名称、循环同时打开多个文件并获取工作表及工作簿进行数据操作后对打开的文件进行保存并关闭操作。 一、打开固定文件名称的文件 场景说明 1.新建一个宏文件VBA_Code.xlsm 2.与VBA_Code.xlsm文件在同一路径下有名为EmployeeInfo.xlsx的文件 3.需要将EmployeeInfo.xlsx的A1单元格写入当前日期值 示例代码
以下代码中定义filePath用来存放当前文件的路径ws和wb分别用来存放工作表及工作簿对象
Sub OpenTheFile()Dim filePath As String 定义工作表及工作簿数组Dim ws As WorksheetDim wb As Workbook 定义该文件路径filePath ThisWorkbook.Path 获取路径下所有文件这里需要提供完整的文件路径Workbooks.Open filePath \EmployeeInfo.xlsx 设置工作表及工作簿Set ws ActiveWorkbook.Worksheets(Sheet1) 这里也可以通过工作表索引位置来设置从1开始Set ws ActiveWorkbook.Worksheets(1)Set wb ActiveWorkbook 写入当前时间值ws.Cells(1, A).Value Now() 保存并关闭wb.Savewb.CloseEnd Sub二、模糊匹配文件名称 场景说明 1.新建一个宏文件VBA_Code.xlsm 2.与VBA_Code.xlsm文件在同一路径下有名为EmployeeInfo202407.xlsx、Test202407.xls的文件 3.需要将EmployeeInfo202407.xlsx和Test202407.xls两个文件的A1单元格都写入当前日期值但是文件名称中的日期不固定 示例代码
文件名称不固定可以使用Like搭配星号*进行模糊匹配。完整的代码如下
Sub OpenFile()Dim myFile As StringDim filePath As String 定义工作表及工作簿数组Dim wsE As WorksheetDim wsT As WorksheetDim wbE As WorkbookDim wbT As Workbook 定义该文件路径filePath ThisWorkbook.Path 定义文件路径下的所有文件myFile Dir(filePath \*.xls*) 循环处理所有文件Do While myFile 匹配Employee文件If myFile Like Employee* ThenWorkbooks.Open filePath \ myFileSet wsE ActiveWorkbook.Worksheets(Sheet1)Set wbE ActiveWorkbook 匹配Test文件ElseIf myFile Like Test* ThenWorkbooks.Open filePath \ myFileSet wsT ActiveWorkbook.Worksheets(Sheet1)Set wbT ActiveWorkbookEnd IfLoop 写入当前时间值wsE.Cells(1, A).Value Now()wsT.Cells(1, A).Value Now() 保存并关闭wbE.SavewbE.ClosewbT.SavewbT.CloseEnd Sub