VBA如果给出错误的“ true”响应

时间:2019-08-05 13:42:42

标签: excel vba if-statement

HI每个人我都在VBA上为一个虚假的真实而苦苦挣扎-简而言之,系统需要检查一个按钮,需要更新一个单页纸,该单页纸表示市场是Y还是N。要获得是或否样品结果,需要对照市场规范进行检查。我创建了一个用户表单来提交结果,因为可能存在500多种不同的活动,但是通常检测到少于10种。因此,我有一个数据库表,其中活动内容是垂直的,还有一个寻呼机,其中指出了要使用哪个市场的数据库。我想使用用户窗体的下拉菜单(Active1)来检查存在哪些活动,然后让vba对照在单页页面(RelSh)上特定单元格中指示的相关数据库检查文本框(NewMRL1)中的结果。我在vba中使用了If,但结果以假肯定/假true的形式出现。例如,国家限制为5,而NewMRL1中的值为3。如果我输入的代码表示3大于5,则msgbox(“超过限制”)会给出正确的答案,但我开始引用相关的分钟不同工作表的值会产生误报。如果我调试并将鼠标悬停在这些值上,那么它确实为我提供了所引用的正确值。我还更改了>和<以检查我是否没有以错误的方式进行操作,但即使这样也无济于事,他总是能提供真实的回报。我还更改了范围检查,因此请原谅这并非整洁的编码!这是我的代码,请帮忙!

非常感谢您的协助!

Private Sub Check_ResultsAgainstCry()

'Identify MRL country sheet
Dim MRLCry As Worksheet
Set MRLCry = Worksheets("MRL - Countries")

'Identify worksheet in which references should retrieved from
Dim RelSh As Worksheet
strWSName = LRSICom.Value
Set RelSh = Worksheets(strWSName)

Set MRLCryActRange = MRLCry.Range("A:A")

Dim RelRow1 As Long
'RelRow1 = MRLCryActRange.Find(Active1.Value, LookIn:=xlValues, lookat:=xlWhole).Row

'Set Cry database search range
Dim CryDB_SearhRange As Range
Set CryDB_SearhRange = MRLCry.Range("A4:XF4")

'Find relevant Country's column based on Relevant sheets cell information 
CryDB1 = CryDB_SearhRange.Find(RelSh.Cells(4, "AA").Value, LookIn:=xlValues, lookat:=xlWhole).Column

'Check the results in textbox against the relevant database column
If MRLCry.Cells(RelRow1, CryDB1).Value < NewMRL1.Value Then MsgBox ("Result 1 above limit of Country" & MRLCry.Range("A4:XF4").Value)

End Sub

我希望结果低于限制时不执行任何操作,但是如果结果高于限制则应显示消息框。...当前结果高于或低于等于甚至为空白时,它将显示消息框...

0 个答案:

没有答案