excel VBA:循环访问不连续的文件系列

v8wbuo2f  于 2023-03-09  发布在  其他
关注(0)|答案(2)|浏览(157)

我正在做一个VBA程序来收集Excel文件中的数据,所有名称:AAA- i,i从1到200,但跳过一些数字。
我的代码运行良好,但停止并要求我手动打开丢失的文件。我想跳过这些丢失的数字。我该如何继续?
另外,有时候我会把日期记成这样:我不知道该怎么忽略这部分。

`Sub proto()
   Dim file As String
    Dim i As Integer, nfile As Integer
  
    
    Const DOSSIER = "C:\temp\FOLDER\"
    Const chemin1 = "PROJECT-  "
      
    For i = 1 To 250
    file = DOSSIER & "[" & chemin1 & i & ".xlsm" & "]"
  
    Range("B" & i).Select
    ActiveCell.Formula = "='" & file & "Sheet1'!K30"
     Range("C" & i).Select
    ActiveCell.Formula = "='" & file & "Sheet2'!K92"
    
    Next i
end sub
`

谢谢你,
已创建并有待改进的程序

cpjpxq1n

cpjpxq1n1#

试试这个:

Sub proto()
    Dim file As String
    Dim i As Long, o As Long
    
    Const DOSSIER = "C:\temp\FOLDER\"
    Const chemin1 = "PROJECT-  "
      
    o = 1
    For i = 1 To 250
    
        file = DOSSIER & "[" & chemin1 & i & ".xlsm" & "]"
        
        If Dir(file) <> "" Then
            Range("B" & o).Formula = "='" & file & "Sheet1'!K30"
            Range("C" & o).Formula = "='" & file & "Sheet2'!K92"
            o = o + 1
        End If
    Next i
    
End Sub

这实际上是相同的代码,但是它在创建链接之前测试文件是否存在,并且还使用o来跟踪数据被写入到哪一行(如果您希望在文件不存在时写入空行,则可以改为写入到i行)。

bwleehnv

bwleehnv2#

所以在循环前加法
如果目录(文件名)〈〉“”,则
看起来像上面建议的那样工作。
我想升级程序,这样它就可以找到文件名后面有日期的文件,就像这样aaa - i - ddmmyyyy。
在我看来,我应该忽略与我无关的日期部分,但我不知道该如何做。

相关问题