从循环中排除打开的工作簿/特定文件

时间:2019-02-24 14:36:24

标签: excel vba

我有一个代码,该代码可以从其他文件复制数据并将其放入表格(打开的工作簿)中。我如何才能从循环中排除打开的工作簿(从那里开始宏)以及例如某些特定文件(C:\ Users \ Desktop \ text.xlsm)?我尝试了If strFile <> ActiveWorkbook.Name然后,但是它不起作用,它仍然尝试打开打开的工作簿。

这是循环代码的一部分:

Set oWks0 = ActiveSheet

aCells = Split(Zellen, ",")

iNextLine = iStartZeile

For ialngFolders = LBound(avntFolders) To UBound(avntFolders)

    strFile = Dir$(avntFolders(ialngFolders) & "*.xlsm")



    Do Until strFile = vbNullString


        Set oWkb1 = Workbooks.Open(avntFolders(ialngFolders) & strFile)
        Set oWks1 = oWkb1.Sheets(1)


        For i = 0 To UBound(aCells)
        'If strFile <> ActiveWorkbook.Name Then

            oWks0.Cells(iNextLine, iStartSpalte).Offset(0, i).Value = _
                oWks1.Range(aCells(i)).Value

        'End If

        Next



        Call oWkb1.Close(SaveChanges:=False)

        iNextLine = iNextLine + 1

        strFile = Dir$



    Loop

Next

1 个答案:

答案 0 :(得分:0)

Workbooks.Open是打开工作簿的方法

使用

如果strFile <> ActiveWorkbook.Name然后

在行之前

设置oWkb1 = Workbooks.Open(avntFolders(ialngFolders)&strFile)