|
本帖最后由 silenthunter 于 2013-12-1 15:01 编辑
以下代码,是在循环里判断,有了就改变底纹颜色。但如果数据多,就想放进数组里循环来找快点,可在数组里找到了,又怎么对应地给单元格加底纹呢?毕竟到了数组里的内存已经脱离单元格了,无法再简单地用Rows(i)解决。
Private Sub find_Click()
Dim Exist As Boolean: Exist = False
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
CompanyName = InputBox("请输入要查询的公司名称:", "查询")
For i = 1 To LastRow
If Cells(i, 1) = CompanyName Then
Exist = True
Rows(i).Interior.ColorIndex = 27
Exit For
End If
Next i
If Exist = False Then
MsgBox "没有找到“" & CompanyName & "”,请确认内容是否正确。", vbCritical, "没有找到指定内容。"
End If
End Sub
End Sub
本帖最后由 yyyydddd8888 于 2013-12-1 15:18 编辑
变量exist 是VBA的关键字,应该改一下才行。再加一句,如果用户没有输入就直接退出:
If companyname = "" Then Exit Sub
Private Sub find_Click()
Dim Existtt As Boolean: Existtt = False
Dim lastrow&, arr, companyname$, i&
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
arr = Range("a1:a" & lastrow)
companyname = InputBox("请输入要查询的公司名称:", "查询")
If companyname = "" Then Exit Sub
For i = 1 To lastrow
If arr(i, 1) = companyname Then
Existtt = True
Rows(i).Interior.ColorIndex = 27
Exit For
End If
Next i
If Existtt = False Then
MsgBox "没有找到“" & companyname & "”,请确认内容是否正确。", vbCritical, "没有找到指定内容。"
End If
End Sub
|
|