我是VBA的新手。我有两列名为' Code'和'姓名'例如,在名为 Sheet1
的工作表中
我想要做的是' Code'应该与名称的每个单元格进行比较。然后,如果序列中的某些部分匹配,则会出现一个名为“匹配”的分隔列。 (如上所述)应显示“是”'或者没有'除了专栏'代码'。例如,首先是'Wreakhavoc'在' Code'使用'名称'检查列然后可以看到Wreakhavoc和' Reak'匹配(两个单词的某些部分按顺序匹配)然后匹配'匹配'显示是,因为序列中存在一些匹配。
答案 0 :(得分:1)
你可以试试这个:
Sub Main()
Dim cell As Range, f As Range
With Range("A3", Cells(Rows.Count, 1).End(xlUp))
For Each cell In Range("E3", Cells(Rows.Count, 5).End(xlUp))
Set f = .Find(what:=cell.Value2, lookat:=xlPart, LookIn:=xlValues, MatchCase:=False)
If Not f Is Nothing Then Cells(f.Row, 3).Value2 = "yes"
Next
If WorksheetFunction.CountBlank(.Offset(, 2)) > 0 Then .Offset(, 2).SpecialCells(xlCellTypeBlanks).Value = "No"
End With
End Sub
我假设代码在A列(列索引= 1)中,匹配在C列(列索引= 3)和名称在E列(列索引= 5)。
否则,请根据需要更改列名和索引。