我有一个If公式作为我的宏代码的一部分,它似乎没有以正确的方式工作。
下面的代码计算rCell.Offset并始终将其应用为True,我有一些示例,它等于112,113,118等,并且它将所需的单元格填充为选项2.
If rCell.Offset(0, -2).Value = "101" Or "102" Then
rCell.Value = "Option 2"
Else
rCell.Value = "Option 1"
End If
我错过了什么吗?
答案 0 :(得分:5)
是。试试这个
If rCell.Offset(0, -2).Value = "101" Or rCell.Offset(0, -2).Value = "102" Then
编辑:基本上你的代码是在询问
If "102"
总是会返回true。
答案 1 :(得分:1)
我出去了,并说rCell.Offset(0,-2)中的数字是实际数字而不是文本 - 看起来像数字。请记住sankey
,因此请删除引号并更正或语法。
sankey.js
另一种选择是Select Case statement。
Option Explicit
Private Sub CommandButton1_Click()
On Error GoTo ErrHandler
' SET Outlook APPLICATION OBJECT.
Dim objOutlook As Object
Set objOutlook = CreateObject("Outlook.Application")
' CREATE EMAIL OBJECT.
Dim objEmail As Object
Set objEmail = objOutlook.CreateItem(olMailItem)
With objEmail
.To = "jack@jill.com"
.Subject = "Issue Resolution Request"
.Body = "Hi Finance Systems, please see the attached issues log for your attention"
ThisWorkbook.Save
.Attachment.Add ThisWorkbook.Path & "\" & ThisWorkbook.Name
.Send ' SEND THE MESSAGE
End With
Set objEmail = Nothing: Set objOutlook = Nothing
ErrHandler:
End Sub
当有几种情况需要检查时,这种状态评估的好处就会很明显。