Excel 如果逻辑中有两个条件之一,则为真
如果列V中的单元格不等于F或V,我将尝试删除一行 此代码删除所有内容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
对于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,希望能接受这个暗示。但他们是否接受答案完全由他们自己决定。只要继续回答——大多数人都乐于将一个好的、有用的答案标记为已被接受。