我的函数中有这个代码行:
For Each objSheet1 In objWorkbook3.Sheets
If objSheet1.Name <> "X" And objSheet1.Name <> "Y" And objSheet1.Name <> "Z" And objSheet1.Name <> "K" Then
objSheet1.Delete
End If
Next
结果是我的函数删除了名称与K不同的所有工作表,就好像只接受了此部分objSheet1.Name <> "K"
一样,我试过了
For Each objSheet1 In objWorkbook3.Sheets
If objSheet1.Name <> "X" And objSheet1.Name <> "Y" Then
objSheet1.Delete
End If
Next
工作正常,在VBScript中使用超过2 And
是不可接受的?
我该如何更换呢?
答案 0 :(得分:0)
请试试这个:
For Each objSheet1 In objWorkbook3.Sheets
If objSheet1.Name <> "X" Then If objSheet1.Name <> "Y" Then If objSheet1.Name <> "Z" Then If objSheet1.Name <> "K" Then objSheet1.Delete
Next
经过测试,对我有用。!
答案 1 :(得分:-2)
尝试使用“&amp;&amp;”而不是和
这个词喜欢这些:
对于每个objSheet1在objWorkbook3.Sheets中 如果objSheet1.Name&lt;&gt; “X”&amp;&amp; objSheet1.Name&lt;&gt; “Y”&amp;&amp; objSheet1.Name&lt;&gt; “Z”&amp;&amp; objSheet1.Name&lt;&gt; “K”然后是objSheet1.Delete 下一步
答案 2 :(得分:-3)
您可以使用parantheses()按预期执行。比如这个:
If (objSheet1.Name <> "X") And (objSheet1.Name <> "Y") And (objSheet1.Name <> "Z") and (objSheet1 <> "K") Then
objSheet1.Delete
End If
希望这有帮助。