Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如果逻辑中有两个条件之一,则为真_Excel_Vba_If Statement - Fatal编程技术网

Excel 如果逻辑中有两个条件之一,则为真

Excel 如果逻辑中有两个条件之一,则为真,excel,vba,if-statement,Excel,Vba,If Statement,如果列V中的单元格不等于F或V,我将尝试删除一行 此代码删除所有内容 对于i=RowCount到1步骤-1 如果范围(“V”&i).值“F”或范围(“V”&i).值“V”,则行(i).删除 接下来我 您的逻辑似乎不正确。通过将或更改为和,您将评估正确的布尔运算 现在,您正在检查而不是“v”和而不是“f”,这两个选项始终为false。 无论输入的是什么,都会有正确的答案。回答 你需要类似的东西 Sub SpecificFlatArrears03() Dim Flat As Va

如果列V中的单元格不等于F或V,我将尝试删除一行

此代码删除所有内容

对于i=RowCount到1步骤-1
如果范围(“V”&i).值“F”或范围(“V”&i).值“V”,则行(i).删除
接下来我

您的逻辑似乎不正确。通过将
更改为
,您将评估正确的布尔运算

现在,您正在检查
而不是“v”
而不是“f”
,这两个选项始终为false。 无论输入的是什么,都会有正确的答案。

回答

你需要类似的东西

Sub SpecificFlatArrears03()
    
    Dim Flat As Variant
    
    Do
        Flat = InputBox("Pl Enter a Flat Number as 3 Digit without Prefix")
        'at this point you should check that Flat meets the required requirements
        Range("h3").Value = Flat
        If (Flat > 100 And Flat < 165) Or (Flat > 200 And Flat < 264) Or (Flat > 300 And Flat < 364) Or Flat = 403 Or Flat = 404 Or Flat = 462 Or Flat = 463 Then
            Range("h4") = WorksheetFunction.Match(Flat, Range("'2020-2021'!d11:d206"), 0)
            Exit Do
        End If
    Loop Until False
    
End Sub
Sub specific flatarrears03()
变暗变平
做
Flat=InputBox(“Pl输入一个无前缀的3位数的平面数字”)
“此时,您应该检查公寓是否符合要求
范围(“h3”)。值=平坦
如果(平坦>100且平坦<165)或(平坦>200且平坦<264)或(平坦>300且平坦<364)或平坦=403或平坦=404或平坦=462或平坦=463,则
范围(“h4”)=工作表函数.Match(平面,范围(“'2020-2021'!d11:d206”)、0)
退出Do
如果结束
循环直到错误
端接头

更改为
逻辑错误。如果您正在检查
(x不是A)或(x不是B)
如果A和B不相同,这将始终是正确的。内容是大写的吗?谢谢@ScottCraner有时您在屏幕上看得太久了,以至于事情不再有意义。或者稍微短一点
如果不是单元格(i,“V”)如“[FV]”,那么行(i).Delete
我没有,很多人也不会在回答之前查看评论。答案应该总是留着,这样如果有人提出与OP相同的问题,答案很容易通过绿色复选框看到——而不是隐藏在评论中。这很公平,但有相当多的问题只能在评论中得到回答。不管怎样:)@DougCoats评论不能被标记为已接受,也不能获得任何代表分数-如果有人在评论中回答问题,那就是他们的损失。通常的礼貌做法是链接到答案中的评论。@Mat'smugh我在打字时意识到,人们获得信用是一件事。我可以删除我的评论,或者接受我错了的事实,继续前进。我选择了后者:DYou可以在他们的帖子下发表评论,并友好地链接到meta,或者链接到meta;他们会得到ping,希望能接受这个暗示。但他们是否接受答案完全由他们自己决定。只要继续回答——大多数人都乐于将一个好的、有用的答案标记为已被接受。