VBA Sub基于顶行和第一列定位单元格

VBA Sub基于顶行和第一列定位单元格,vba,excel,Vba,Excel,我的第一行是州名称,如VA CA,第一列包含行业代码。需要一个VBA sub,在我单击名为“定位”的按钮后,一个msgbox要求用户输入州名,第二个msgbox要求用户输入行业代码,VBA找到州和行业所在的列和行,根据这两个坐标输入定位值 Sub Locate() Dim siccode As Integer Dim rngSearch As Range, rngFound, rngFound2 As Range Dim r As Double Dim c As Double Dim state

我的第一行是州名称,如VA CA,第一列包含行业代码。需要一个VBA sub,在我单击名为“定位”的按钮后,一个msgbox要求用户输入州名,第二个msgbox要求用户输入行业代码,VBA找到州和行业所在的列和行,根据这两个坐标输入定位值

Sub Locate()
Dim siccode As Integer
Dim rngSearch As Range, rngFound, rngFound2 As Range
Dim r As Double
Dim c As Double
Dim states, cellvalue As String

siccode = InputBox(Prompt:="Please enter 2 digit SIC code: ", Title:="SIC   Code", Default:="SIC here")
states = InputBox(Prompt:="Please enter State name: ", Title:="State Name", Default:="State Name here")

Set rngSearch = Range("A:BB")
Set rngFound = rngSearch.Find(What:="siccode", LookIn:=xlValues, LookAt:=xlPart)
 If rngFound Is Nothing Then
 MsgBox "No claims at all"
 Else
 MsgBox rngFound.Row
 End If

Set rngSearch = Range("A:BB")
Set rngFound2 = rngSearch.Find(What:="states", LookIn:=xlValues, LookAt:=xlPart)
If rngFound2 Is Nothing Then
 MsgBox "No Claims at all"
 Else
 MsgBox rngFound2.Column
 End If

cellvalue = ActiveSheet.Cells(rngFound.Row, rngFound2.Column).value
MsgBox (cellvalue)
End Sub

它工作良好,直到if部分,无论它是什么输入,它始终没有显示任何索赔

在您的搜索行中,为什么siccode用引号括起来?它是一个整数变量,不是字符串。状态也是一样,这是一个变量

Set rngFound = rngSearch.Find(What:="siccode", LookIn:=xlValues, LookAt:=xlPart)

Set rngFound2 = rngSearch.Find(What:="states", LookIn:=xlValues, LookAt:=xlPart)

尝试删除引号。

您需要一个可以执行某些操作的sub,但您自己尝试过吗?你的密码在哪里?你被困在哪里?它做什么或不做什么?这不是一个免费的编码服务,显示你的研究努力。好捕获!谢谢顺便说一句,我实际上不想让我的msgbox返回ros编号和列编号,我只想返回最终的单元格值结果,我应该怎么做?