所有人。我已经打开了(打开介质整合)。我想从C列中选择一个值,然后遍历每个工作簿,每个工作簿中有许多工作表。如果该值(来自C列的值来自活动工作表)匹配工作簿中任何工作表中的任何地方,然后我想在活动工作表中更新H列,说明找到,否则不更新。我正在通过下面的脚本,但不能循环通过其他两个工作簿中的每一页/每一列。任何想法都非常感谢。
Option Explicit
Sub Found()
Dim NumberOfValues1 As Integer
Dim i As Long
Dim wb1, wb2 As Workbook
Dim wbsb1 As Worksheet
Dim newExcel As Excel.Application
Set newExcel = CreateObject("Excel.Application")
Set wb1 = Workbooks.Open("C:\anil\avamar list\DSM_Master_Full Tapes.xlsx")
Set wb2 = Workbooks.Open("C:\anil\avamar list\DSM_Master_Incremental.xlsx")
NumberOfValues1 = ThisWorkbook.Sheets("OPEN Media Consolidation").Range("A2").End(xlDown).Row
Set wbsb1 = ThisWorkbook.Sheets("OPEN Media Consolidation")
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
For i = 2 To NumberOfValues1
For Each Worksheet In wb1
'how to compare LCase(wbsb1.Range("A" & i).Value) to each cell value
'if found then update wbsb1.Range("H" & i).Value = "Found"
Next
For Each Worksheet In wb2
'how to compare LCase(wbsb1.Range("A" & i).Value) to each cell value
'if found then update wbsb1.Range("H" & i).Value = "Found"
Next
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
wb.Close
newExcel.Quit
Set newExcel = Nothing
End Sub
2条答案
按热度按时间oalqel3c1#
下面的代码会不会做手脚?
cbjzeqam2#
从你的答案中可以看到一个三重嵌套的
For
循环,没有退出条件,这就是为什么在更大的数据集上运行它要花很长时间的原因。您是在每张纸上查找该值的第一次出现,还是在每张纸上查找所有值?
看一下下面的代码,看看是否可以让它为你所需要的工作。我还没有完成第二个嵌套的
For
循环。