Dim sFind As String, sReplace As String '定义查找与被查找的字符串变量
Dim I As Integer, J As Integer '定义循环中的循环增长数值
For I = 1 To 200 '在1列中循环处理并查找姓名
sFind = Cells(I, 1).Value '将sFind赋予姓名单元格的数值
For J = 1 To 200 '在3列中循环处理并查找姓名
sReplace = Cells(J, 3).Value '将sReplace赋予姓名单元格的数值
If sFind = sReplace Then '如果查找的姓名与被查找的姓名相等
Cells(I, 1).Select
With Selection.Interior
.ColorIndex = 7
End With
Cells(J, 3).Select
With Selection.Interior
.ColorIndex = 7
End With
代码:
Sub SLKD()
Dim D As Object, I&, J&, ARR, BRR, T, S
Set D = CreateObject("SCRIPTING.DICTIONARY")
ARR = ActiveSheet.UsedRange
For I = 1 To UBound(ARR)
If Not D.EXISTS(ARR(I, 3)) Then
D(ARR(I, 3)) = Join(Array(ARR(I, 1), ARR(I, 2), ARR(I, 3), ARR(I, 4), ARR(I, 5), ARR(I, 6)), vbCrLf)
End If
Next
T = Application.Transpose(D.ITEMS)
ReDim BRR(1 To UBound(T), 1 To 6)
For I = 1 To UBound(T)
S = Split(T(I, 1), vbCrLf)
For J = 1 To UBound(S) + 1
BRR(I, J) = S(J - 1)
Next
Next
Sheets(2).[A1].Resize(UBound(T), 6) = BRR
End Sub