View Full Version : [SOLVED:] Easy If-Than code for comparison of multiple values doesn't return correct value
quetzal
05-24-2016, 06:21 AM
Hi, I just couldn't solve this issue. My B5 cell contains the number 3007998 which is the input for the computation and my code doesn't return the correct value:
If CStr(Sheets("ORDERS").Range("B5").Value) = "3007659" Or "3007664" Or "3008085" Then
SpeedRate = 462
MsgBox "Speedrate is 462pcs/h"
Else
SpeedRate = 625
MsgBox "Speedrate is 625pcs/h"
End If
...it returns the SpeedRate = 462 which is not correct and idk why..even if I remove the conversion to string by CStr.
p45cal
05-24-2016, 07:19 AM
One of:
Sub blah()
If CStr(Sheets("ORDERS").Range("B5").Value) = "3007659" Or CStr(Sheets("ORDERS").Range("B5").Value) = "3007664" Or CStr(Sheets("ORDERS").Range("B5").Value) = "3008085" Then
SpeedRate = 462
MsgBox "Speedrate is 462pcs/h"
Else
SpeedRate = 625
MsgBox "Speedrate is 625pcs/h"
End If
End Sub
Sub blah2()
Select Case CStr(Sheets("ORDERS").Range("B5").Value)
Case "3007659", "3007664", "3008085"
SpeedRate = 462
MsgBox "Speedrate is 462pcs/h"
Case Else
SpeedRate = 625
MsgBox "Speedrate is 625pcs/h"
End Select
End SubHowever, if cell B5 already contains a number then one of:
Sub blah3()
If Sheets("ORDERS").Range("B5").Value = 3007659 Or Sheets("ORDERS").Range("B5").Value = 3007664 Or Sheets("ORDERS").Range("B5").Value = 3008085 Then
SpeedRate = 462
MsgBox "Speedrate is 462pcs/h"
Else
SpeedRate = 625
MsgBox "Speedrate is 625pcs/h"
End If
End Sub
Sub blah4()
Select Case Sheets("ORDERS").Range("B5").Value
Case 3007659, 3007664, 3008085
SpeedRate = 462
MsgBox "Speedrate is 462pcs/h"
Case Else
SpeedRate = 625
MsgBox "Speedrate is 625pcs/h"
End Select
End Sub
quetzal
05-24-2016, 07:24 AM
One of:
Sub blah()
If CStr(Sheets("ORDERS").Range("B5").Value) = "3007659" Or CStr(Sheets("ORDERS").Range("B5").Value) = "3007664" Or CStr(Sheets("ORDERS").Range("B5").Value) = "3008085" Then
SpeedRate = 462
MsgBox "Speedrate is 462pcs/h"
Else
SpeedRate = 625
MsgBox "Speedrate is 625pcs/h"
End If
End Sub
Sub blah2()
Select Case CStr(Sheets("ORDERS").Range("B5").Value)
Case "3007659", "3007664", "3008085"
SpeedRate = 462
MsgBox "Speedrate is 462pcs/h"
Case Else
SpeedRate = 625
MsgBox "Speedrate is 625pcs/h"
End Select
End SubHowever, if cell B5 already contains a number then one of:
Sub blah3()
If Sheets("ORDERS").Range("B5").Value = 3007659 Or Sheets("ORDERS").Range("B5").Value = 3007664 Or Sheets("ORDERS").Range("B5").Value = 3008085 Then
SpeedRate = 462
MsgBox "Speedrate is 462pcs/h"
Else
SpeedRate = 625
MsgBox "Speedrate is 625pcs/h"
End If
End Sub
Sub blah4()
Select Case Sheets("ORDERS").Range("B5").Value
Case 3007659, 3007664, 3008085
SpeedRate = 462
MsgBox "Speedrate is 462pcs/h"
Case Else
SpeedRate = 625
MsgBox "Speedrate is 625pcs/h"
End Select
End Sub
thank you very much! the first one worked just fine
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.