EXCEL VBA里,如何返回搜索结果?

来源:百度知道 编辑:UC知道 时间:2024/07/04 08:07:26
我的excel中有两列值,第一列的值有:
A
B
C
D
..
等等26个英文字母。
第二列空白。
第三列的值是:
A
D
R
G
R
W
Z
..等等不重复的字母。
我希望能够在第二列里,显示第一列当前行的字母,是否在第三列中出现过;如果出现过则显示“有”;如果没有则什么都不显示。
我查过帮助里Range.find的用法,但是没看明白,希望诸位能用For Each ...Next的方式帮我解决这个问题,谢谢!

楼上的是用excel自带的函数取了个巧。其实很多中方法都行,用for...next可以用以下的,语法很简单,应该看得明白。就不解释了。
Sub abc()
Dim a, b, c, n1, n2 As Integer
n1 = Range("A65536").End(xlUp).Row
n2 = Range("C65536").End(xlUp).Row
c = 0
For a = 1 To n1
For b = 1 To n2
If Cells(a, 1) = Cells(b, 3) Then
c = 1
Exit For
End If
Next b
If c = 1 Then Cells(a, 2) = "是"
c = 0
Next a
End Sub

假设第一列是A列,第二列是B列,第三列是C列,试写以下代码供参考(其实直接在EXCEL里用函数更方便:
Sub kdk()
For n = 1 To 26

If Application.WorksheetFunction.CountIf(Range("c1:c26"), Cells(n, 1)) <> 0 Then
Cells(n, 2) = "有"
Else
Cells(n, 2) = " "
End If
Next n

End Sub