乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>Excel</em> 关于<em>VBA</em>中IF多条件语

<em>Excel</em> 关于<em>VBA</em>中IF多条件语

作者:乔山办公网日期:

返回目录:excel表格制作


我运行zhidao下面程序没有问题。再看看是不是你excel内容有问题?

Sub 判断()
S = 0
For n = 2 To 10
S = S + Cells(n, 1)
Next n
If S <> Cells(1, 1) Then MsgBox "º合计不等于明细"

End Sub


VBA中的多条件IF,一般有两种情况:

一是使zhidao用AND、OR连接多个条件,例如:
IF A1=1 AND A2=2 OR A2="" THEN

二是使用IF嵌套,例如:
IF A1=1 THEN
IF A2=2 THEN ... ELSE ...
ELSE
IF A2="" THEN ... ELSE ...
END IF
下面是帮你精减了的代码,你都提出了短路判断了,为什么还要套那么IF呢?实际上就是用7a686964616fe78988e69d83334
AND 和 or 就可以组成你所说的那种判断了。还有下面那个自定义函数就是你代码中重复的。
Sub test()
If sss = 0 Then
    MsgBox "没有选择查询条件!":  Exit Sub
End If
For i = 3 To izong          '---------------------- 写入查询结果
    If Left(Shtxinxi.Cells(i, 2), 6) = riqi Then       '-----------如果日期相符
            If Shtxinxi.Cells(i, 6) = "" And zhuangtai = "待确认" Then xjg (i)
            If Shtxinxi.Cells(i, 6) <> "" And Shtxinxi.Cells(i, 12) = "" And zhuangtai = "已确认" And renyuan = "" Then xjg (i)
              
            If Shtxinxi.Cells(i, 6) = renyuan And Shtxinxi.Cells(i, 12) = "" And zhuangtai = "已确认" Then xjg (i)
             
            If Shtxinxi.Cells(i, 12) <> "" And zhuangtai = "已审核" And renyuan = "" Then xjg (i)
            
            If Shtxinxi.Cells(i, 6) = renyuan And Shtxinxi.Cells(i, 12) <> "" And zhuangtai = "已审核" Then xjg (i)
            
    End If
Next i
End Sub
Function xjg(ii%)
  k = k + 1
                For j = 2 To 9
                    Cells(k, j + 1) = Shtxinxi.Cells(ii, j)
                Next j
End Function


    If (expression1) <> (expression2) Then
        ......
    End If
    
    注意两点:
1)表达zd式要用括号括起来,以防运算顺序错误;
2)两个表达式的结果类型要相容,否则无法互相比较。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网