我試圖比較兩個不同工作簿上的兩個單元格。如果相等,腳本應該在這些(相同的)工作簿上進一步比較另外兩個不同的單元格,並突出顯示那些不相等的單元格。比較兩個單元格,如果相等,則比較兩個不同的單元格,如果不等於,則突出顯示結果
我已經試過如下:
Sub Compare()
Dim mycell As Range
Dim shtSheet1 As Worksheet
Dim shtSheet2 As Worksheet
Set shtSheet1 = Workbooks("100Series").Worksheets("Report")
Set shtSheet2 = Workbooks("UserWorkbook").Worksheets("User")
For Each mycell In shtSheet2.UsedRange
If Not mycell.Value = shtSheet1.Cells(mycell.Row, mycell.Column).Value Then
mycell.Interior.Color = vbRed
End If
Next
End Sub
但是,這是行不通的。它會拋出Subscript out of range
錯誤。我不確定什麼超出範圍。每張工作表都有3500行,2列寬。
我現在的代碼有什麼問題?
是否想比較Worbook 1的Cell A1與Worbook 2等的Cell A1等(Cell B310與其他Workbook的Cell B310 ...)? –
它在什麼時候會將下標超出範圍錯誤?如果它正在執行'Set shtSheet1 = Workbooks(「100Series」)。Worksheets(「Report」)'命令,可能是因爲工作簿被稱爲「100Series.xlsx」(或類似的東西)。 – YowE3K
當出現錯誤消息時,消息框中應該有一個「調試」按鈕。如果你點擊那個按鈕,導致錯誤的行應該以黃色突出顯示 – barrowc