我正在寻找一个可以执行以下操作的宏:
1)查看MECH_COMBINED表中的任何行是否与COMPONENTS表中的完全相同的信息一起存在。 (MECH_COMBINED中有大约7000行,COMPONENTS中有20000行,每个工作表都有与BI相同的列名称的列)
2)如果存在MECH_COMBINED中的行,则突出显示COMPONENTS表中的整行,并创建第三个包含不同行的表(如果不可能,那么第三个表可能具有相同的突出显示的行
我希望这是一个可能的宏?我现在使用的那个跑得太慢了,最终冻结了。
Sub Test()
Application.ScreenUpdating = False
Dim bottomA1 As Integer bottomA1 = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row Dim c As Range
Dim bottomA2 As Integer bottomA2 = Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Row Dim x As Integer For Each c In Sheets("Sheet2").Range("A1:A" & bottomA2)
For x = bottomA1 To 2 Step -1 If Cells(x, 1) = c Then Cells(x, 1).EntireRow.Interior.Color = 255 End If Next x Next c Application.ScreenUpdating = True
End Sub
提前致谢:)
答案 0 :(得分:0)
The highlight differs between Excel Versions. Record a macro that highlights then modify
and insert it. Here is a rough macro hopely it is what you want.
Sub macro1()
n = 0
For i = 1 To Sheets("MECH_COMBINED").Cells(Rows.Count, "A").End(xlUp).Row
For j = 1 To Sheets("COMPONENTS").Cells(Rows.Count, "A").End(xlUp).Row
For k = 1 To 51 'A to BI
If Sheets("MECH_COMBINED").Cells(i, k) = Sheets("COMPONENTS").Cells(j, k) Then
If notequal = 0 Then
If k = 51 Then
'Highlight Row in Sheets("COMPONENTS")
'copy complete row
n = n + 1
For m = 1 To 51
Sheets("Sheet3").Cells(n, m) = Sheets("MECH_COMBINED").Cells(i, m)
Next
'highlight complete row in Sheets("Sheet3")
End If
End If
Else
notequal = 1
End If
Next k
notequal = 0
Next j
Next i
End Sub