如何在vba代码

时间:2015-05-18 13:06:28

标签: excel vba excel-vba

我有一个代码,可以在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”,则代码错误地表示它不存在。我怎么能重写这个呢?

1 个答案:

答案 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