我正在編寫一個代碼來比較兩個不同工作簿中的兩行,這兩個工作簿可以位於列中的不同位置。第一列通常在一個部分中分組(多個相同的值)。這就是爲什麼在此代碼中,我按第一列進行搜索,然後選擇其他標識符列並一次偏移一個,而兩個工作簿圖紙都相互匹配比較兩個主要工作簿由兩列和許多參數
我試圖激活通過.Find找到的單元格在這個代碼中的功能,但顯然你不能這樣做。 「範圍類的主動方法失敗」
我相信我在這段代碼的正確軌道上,但我確信仍然有問題,我試圖用我有限的技能一次解決一個問題!
感謝您的幫助:)
Sub Compare2()
Dim layer As String
Dim Pno As String
Dim firstAddress As String
Dim i As Long
Dim c As Range
Option Explicit
For i = 5 To 1000 Step 1
layer = Sheets("MP Parameters").Range("A" & i).Value
Pno = Sheets("MP Parameters").Range("H" & i).Value
With Sheets("Compare").Range("a1:a1500")
Set c = .Find(layer, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
c.Activate
Do
Sheets("Compare").ActiveCell.Offset(rowOffset:=0, columnOffset:=7).Activate
If Sheets("Compare").ActiveCell = Pno Then
Sheets("Compare").ActiveCell.Offset(rowOffset:=0, columnOffset:=9).Activate
If Sheets("Compare").ActiveCell.Value <> Sheets("MP Parameters").Range("P" & i).Value Then
Sheets("MP Parameters").Range("P" & i).Interior.ColorIndex = 46
End If
End If
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
i = i + 1
End If
End With
Next i
End Sub
作爲第一步:更改'c.Add ress.ActivateCell'到'c.Activate' –
謝謝!這是我總是錯過的小東西 –
它仍然拋出錯誤「範圍類的活動方法失敗」 –