我有一个代码,该代码可以从其他文件复制数据并将其放入表格(打开的工作簿)中。我如何才能从循环中排除打开的工作簿(从那里开始宏)以及例如某些特定文件(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
答案 0 :(得分:0)
Workbooks.Open是打开工作簿的方法
使用
如果strFile <> ActiveWorkbook.Name然后
在行之前
设置oWkb1 = Workbooks.Open(avntFolders(ialngFolders)&strFile)