1

我正在使用此处的宏:http ://answers.yahoo.com/question/index?qid= 20060906110734AA9t2l9 突出显示差异。但是,当有 50000 行时,其中只有 2 行不同,这是大海捞针的问题。

我想要做的是在单独的表格中查看差异,并排更改之前和之后。对此的任何帮助将不胜感激。

4

1 回答 1

0

对现有代码的小补充:

Sub Compare_Sheets()

Dim v1,v2
Dim diffRow as long

Set From_WS = Workbooks("Book1").Worksheets("Sheet1")
Set To_WS = Workbooks("Book2").Worksheets("Sheet2")
Set diffWS = Thisworkbook.Sheets("Diff")

diffRow = 1

With From_WS.Cells(1, 1).CurrentRegion
    Total_Rows = .Rows.Count
    Total_Columns = .Columns.Count
End With

For Rows_Counter = 1 To Total_Rows
For Column_Counter = 1 To Total_Columns
v1 = Trim(LCase(From_WS.Cells(Rows_Counter, Column_Counter).Value))
v2 = Trim(LCase(To_WS.Cells(Rows_Counter, Column_Counter).Value)) 

If v1 <> v2 Then
    From_WS.Cells(Rows_Counter, Column_Counter).Interior.ColorIndex = 4
    To_WS.Cells(Rows_Counter, Column_Counter).Interior.ColorIndex = 5

    With diffWS.Rows(diffRow)
        .Cells(1).value=From_WS.Cells(Rows_Counter, Column_Counter).Address()
        .Cells(2).value = v1
        .Cells(3).value= v2
        diffRow = diffRow + 1
    End With

End If

Next Column_Counter
Next Rows_Counter

End Sub
于 2012-08-10T22:10:38.427 回答