首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel VBA如果不等于不工作

Excel VBA如果不等于不工作
EN

Stack Overflow用户
提问于 2015-07-30 11:15:44
回答 1查看 8.8K关注 0票数 0

在我的代码不检查单元格是否有我需要的值时,我遇到了这个问题。我用方框来检查值--从框中看上去不错,但如果不取值的话。有什么不对吗?我尝试手动向单元格添加值,但如果不起作用的话。

代码语言:javascript
复制
If ThisWorkbook.ActiveSheet.Cells(virsus, desinen).value <> "CH" Or ThisWorkbook.ActiveSheet.Cells(virsus, desinen).value <> "SSC" Then 
   If ThisWorkbook.ActiveSheet.Cells(virsus, desinen - 1).value <> "CH" Or ThisWorkbook.ActiveSheet.Cells(virsus, desinen - 1).value <> "SSC" Or ThisWorkbook.ActiveSheet.Cells(virsus, desinen - 1).value <> "" Then  
       MsgBox ThisWorkbook.ActiveSheet.Cells(virsus, desinen - 1).value
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-30 11:42:22

您需要更改If语句中的表达式。

目前,它们都返回True,这可能不是预期的结果。

让我们考虑一下这一行:

代码语言:javascript
复制
If ThisWorkbook.ActiveSheet.Cells(virsus, desinen).value <> "CH" Or _
                 ThisWorkbook.ActiveSheet.Cells(virsus, desinen).value <> "SSC" Then

检查此值是否与CH不同或与SSC不同。值不能同时等于CHSSC,因此其中一个表达式总是返回True,并且由于它们与Or关键字连接,所以整个表达式也总是返回True

我不知道您想要在这个If语句中签入什么,但是如果这个值既不是CH也不是SSC,那么我想它会返回True。在这种情况下,只需将运算符Or替换为And

代码语言:javascript
复制
If ThisWorkbook.ActiveSheet.Cells(virsus, desinen).value <> "CH" And _
                 ThisWorkbook.ActiveSheet.Cells(virsus, desinen).value <> "SSC" Then
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31722281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档