我有一个代码,可以在excel中搜索一列文本中的学生姓名。
我使用的代码是:
Private Sub CommandButton1_Click()
row_number = 0
count_of_string = 0
search_string = Sheets("Names").Range("C3")
Do
DoEvents
row_number = row_number + 1
item_in_review = Sheets("Names").Range("A" & row_number)
If InStr(item_in_review, search_string) > 0 Then
count_of_string = count_of_string + 1
End If
Loop Until item_in_review = ""
MsgBox (search_string & " occurred: " & count_of_string & " times.")
End Sub
这很好用。我遇到的问题是,如果用户在搜索字段中输入任何名称时更改了任何名称的大小写,则代码不会“看到”该名称。例如,如果用户在列中找到“mark”而不是“Mark”,则代码错误地表示它不存在。我怎么能重写这个呢?
答案 0 :(得分:3)
您可以使用UCase Function
- > http://www.techonthenet.com/excel/formulas/ucase.php
试试这个:
If InStr(UCase(item_in_review), UCase(search_string)) > 0 Then
count_of_string = count_of_string + 1
End If