VBA查找与inputbox匹配的单元格并选择

VBA查找与inputbox匹配的单元格并选择,vba,excel,Vba,Excel,对其他问题的回答非常有帮助。那些愿意帮助他人解决问题的聪明人让我经常回到这个网站。我对VBA非常陌生,一个月前甚至不知道它的存在。 问题:我试图使用inputbox答案在ExcelVBA中查找和选择一个单元格。 最好的解释方法是举个例子 假设我有一个托盘,它的标签是5231-4 它上面有1-10个项目,它们也标有5231-4 我需要VBA请求输入托盘编号5231-4 然后在C列中找到5231-4,然后选择相应行的H列 接下来,我将输入托盘上所有项目的编号,如果它们不匹配,我需要一个带有错误的Me

对其他问题的回答非常有帮助。那些愿意帮助他人解决问题的聪明人让我经常回到这个网站。我对VBA非常陌生,一个月前甚至不知道它的存在。 问题:我试图使用inputbox答案在ExcelVBA中查找和选择一个单元格。 最好的解释方法是举个例子 假设我有一个托盘,它的标签是5231-4 它上面有1-10个项目,它们也标有5231-4 我需要VBA请求输入托盘编号5231-4 然后在C列中找到5231-4,然后选择相应行的H列 接下来,我将输入托盘上所有项目的编号,如果它们不匹配,我需要一个带有错误的Messagebox不匹配(忽略空单元格)

这就是我能做到的程度,最大的问题是从输入框中查找并选择与数据匹配的单元格。

您可以使用Find()查找范围内的值:

Dim f As Range

Set f = Activesheet.Range("C:C").Find(what:=ID, lookat:=xlwhole)

If Not f Is Nothing Then

    'work with f

Else

    Msgbox "Couldn't find tray '" & ID & "'   !"

End If

我想我对你想做的事感到非常困惑。您是否在c列中找到一个值,并使该行中的每个值都具有相同的值?请帮助我了解你的想法。你的问题不清楚。此外,您的代码也没有帮助,因为它所做的只是收集用户输入并将ti写入单元格,我们看不到您还想用它做什么。请试着重新表述你的问题。
Dim f As Range

Set f = Activesheet.Range("C:C").Find(what:=ID, lookat:=xlwhole)

If Not f Is Nothing Then

    'work with f

Else

    Msgbox "Couldn't find tray '" & ID & "'   !"

End If