Excel VBA如何遍历指定列单元格值并作为函数参数使用
实现代码
你可以直接替换原有代码为下方版本,即可实现遍历Foglio3工作表A1到A300单元格、取每个单元格的路径值传递给函数使用的需求:
Sub Function3() Dim FileFull As String Dim wb As Workbook Dim rngCell As Range ' 直接绑定工作表对象,*不需要Activate操作,运行更稳定* With ThisWorkbook.Worksheets("Foglio3") ' 遍历A1到A300的所有单元格 For Each rngCell In .Range("A1:A300") FileFull = Trim(rngCell.Value) ' 跳过空单元格,以及路径对应的文件不存在的情况,避免报错 If FileFull <> "" And Dir(FileFull) <> "" Then Set wb = Workbooks.Open(FileFull) ' 直接传递工作簿对象给你已有的函数 Delete_Sheet wb InsertCol wb ' 如果你有其他需要接收路径参数的函数,直接传FileFull即可,例如: ' 你的自定义函数名 FileFull wb.Close SaveChanges:=True End If Next rngCell End With End Sub
关键说明
- 原有代码中的Dir逻辑是用于遍历单个文件夹下的所有文件,而你的需求是直接读取预先存好的路径列表,因此替换为For Each循环遍历单元格范围即可
- 代码中加了双重校验,空单元格和不存在的文件都会自动跳过,避免运行时报错
- 如果你需要把路径传递给其他自定义函数,直接把
FileFull变量作为参数传入即可,和传递wb工作簿对象的用法一致
内容的提问来源于stack exchange,提问作者fuxio82
相关产品推荐
相关产品推荐

