我在Outlook中有一个宏,该宏将参数传递给Excel中的宏,问题是一个简单的If语句无法正确比较两个值。可能是数据类型的问题,但是我真的不确定为什么它不起作用
我尝试使用Like和InStr(),但它们仍然无法正常工作。
Sub increase(gageID As String)
Dim temp As String
'MsgBox gageID Shows correct string
Set Rng = Range(Range("A2"), Range("A" & Rows.Count).End(xlUp))
For Each cell In Rng
temp = cell.Value
'MsgBox temp Loops through every cell in column A correctly
If temp = gageID Then 'Can't compare for some reason
MsgBox cell.Value 'Code never reaches here, no errors thrown
MsgBox "test3"
cell.Offset(0, 9).Value = cell.Offset(0, 9).Value + 7
End If
Next
End Sub
答案 0 :(得分:0)
您可以执行Trim()并使用 StrComp function
返回一个变体(字符串),其中包含指定字符串的副本,而没有前导空格(LTrim),尾随空格(RTrim)或前导和尾随空格(Trim)。
两个字符序列的比较。使用“选项比较”可以指定二进制或文本比较。在美国英语中,二进制比较区分大小写;文字比较不是。