Excel VBA:如何从用户获取输入并比较D列中的完全匹配?

时间:2016-03-09 06:09:17

标签: excel vba excel-vba excel-formula

Excel VBA:如果找到的匹配突出显示在D列中自动找到匹配,如何从用户获取输入并比较D列中的完全匹配?是否可以使用Excel 2013?

  1. 如果在D列中找到完全匹配,则从用户处获取输入 突出显示D列中的值(值必须是Variant类型)
  2. 如果没有匹配,则发现警告消息(未找到)
  3. 想要自动清除输入文本框以供下次用户输入
  4. 请帮助这对我很有帮助....

1 个答案:

答案 0 :(得分:0)

通过完全匹配,您正在谈论区分大小写的匹配,不是吗?如果是这样,应该这样做:

Function findValue()

Dim Value As Variant
Dim Sheetname As String

Value = InputBox("Enter Value:", "Input")

Sheetname = "ENTER SHEETNAME HERE"

'Sheets(Sheetname).Columns("D:D").Select
Dim Cell As Variant

'Search in Column D | MatchCase True = case sensitive
Set Cell = Sheets(Sheetname).Columns("D:D").Find(What:=Value, After:=Sheets(Sheetname).Range("D1"), LookIn:=xlFormulas, _
    LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=True, SearchFormat:=False)

If Not Cell Is Nothing Then

    'Value is found, Highlight Cell
    Sheets(Sheetname).Range(Cell.Address).Interior.ColorIndex = 4
Else

    'Value Not found
    MsgBox "Not Found"
End If
End Function

否则,您必须将MatchCase选项更改为False