Sub SSS() Dim i, j, s1, s2 Set s1 = Sheets("sheet1") '把sheet1改为你的表1的表名 Set s2 = Sheets("sheet2") '把sheet2改为你的表2的表名 For i = 2 To s1.UsedRange.Rows.Count For j = 2 To s2.UsedRange.Rows.Count If s1.Cells(i, 1) & s1.Cells(i, 2) = s2.Cells(j, 1) & s2.Cells(j, 2) Then s1.Cells(i, 2).Interior.ColorIndex = 6 s2.Cells(j, 2).Interior.ColorIndex = 6 End If Next Next End Sub
用宏对比吧 - 追问:
- 如果列变动了,但是两个表格的格式相同 需要改哪个?
- 回答:
-
Sub SSS() Dim i, j, s1, s2 Set s1 = Sheets("sheet1") '把sheet1改为你的表1的表名 Set s2 = Sheets("sheet2") '把sheet2改为你的表2的表名 卡号 = 1 '卡号列的位置按实际修改,A列为1,B列为2,C列为3以此类推 金额 = 2 '金额列的位置按实际修改 For i = 2 To s1.UsedRange.Rows.Count For j = 2 To s2.UsedRange.Rows.Count If s1.Cells(i, 卡号) & s1.Cells(i, 金额) = s2.Cells(j, 卡号) & s2.Cells(j, 金额) Then s1.Cells(i, 金额).Interior.ColorIndex = 6 s2.Cells(j, 金额).Interior.ColorIndex = 6 End If Next Next End Sub - 补充:
-
Sub SSS() Dim i, j, s1, s2 Set s1 = Sheets("sheet1") '把sheet1改为你的表1的表名 Set s2 = Sheets("sheet2") '把sheet2改为你的表2的表名 卡号 = 1 '卡号列的位置按实际修改 金额 = 2 '金额列的位置按实际修改 For i = 2 To s1.UsedRange.Rows.Count For j = 2 To s2.UsedRange.Rows.Count If s1.Cells(i, 卡号) & s1.Cells(i, 金额) = s2.Cells(j, 卡号) & s2.Cells(j, 金额) Then s1.Cells(i, 金额).Interior.ColorIndex = 6 s2.Cells(j, 金额).Interior.ColorIndex = 6 End If Next Next End Sub - 补充:
- 代码中的所有Cells(i, 1)中的1代表A列,2代表B列。列变动改代码中的1、2即可
|