好的,所以我正在尝试为每个循环执行多个范围的循环。为了更好地解释它,我希望excel遍历一列合同名称,以及本月签署的每个合同(在合同列右侧的列中用“S”表示)我想检查它是否是也表示在前一个月签署。
前一个月是一个不同的工作簿,但我认为我可以让该表成为一个命名范围,在我的公式中引用它。在这一点上,我们到达了我的问题。在我的每个循环中,我有“对于范围内的每个单元格(X)”但是指的是第一个工作簿(本月而不是上个月)所以我不知道如何在我的“if语句”中引用第二个工作簿(如果wbkA范围(“A”)。偏移量(0,1).value =到“S”和wbkB范围(“A”)。偏移量(0,1)=“S”)
我想要做的第三部分,但我很确定如果有人可以帮我解决这个问题,我能否弄明白。
如果我的问题含糊不清,请告诉我,我会尽力详细说明。在此先感谢您的帮助!
答案 0 :(得分:0)
如果关闭,您可以从Application.Workbooks(index or name)
或Application.Workbooks.Open(...)
访问不同的工作簿。
所以:
Dim wbkA as Workbook
Dim wbkB as Workbook
'If both are open being A the first and B the second:
Set wbkA = Application.Workbooks(1)
Set wbkB = Application.Workbooks(2)
您也可以检查他们的名字。
答案 1 :(得分:0)
将item()用于两个工作簿之一:
Set objBook1 = Workbooks("April.xls")
Set objSheet1 = objBook1.Sheets("Sheet1")
Set rangeInBook1 = objSheet1.Range("A1:A5")
Set objBook2 = Workbooks("May.xls")
Set objSheet2 = objBook2.Sheets("Sheet1")
Set rangeInBook2 = objSheet2.Range("A1:A5")
book2Index = 1
For Each objRng In rangeInBook1
itemFromBook1 = objRng.Value
itemFromBook2 = rangeInBook2.Item(book2Index)
book2Index = book2Index + 1
Next