我正在过滤某些数据,使其仅包含01、4、7和10月份的季度数据。当我使用以下代码时,它不会删除正确的行。
正在搜索的第一列格式为yyyy.mm,例如 func scrollViewDidScroll(_ scrollView: UIScrollView) {
let y = 200 - (scrollView.contentOffset.y + 200)
let height = min(max(y, 60), 300)
banner_view.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: height)
if height >= 128 {
// fade in
UIView.animate(withDuration: 2.0, animations: {
self.title_label.alpha = 1.0
}) { (finished) in
// fade out
UIView.animate(withDuration: 2.0, animations: {
self.title_label.alpha = 0.0
})
}
}
}
或1871.01
就我而言,它删除例如1871.1
,这是一个错误。
1871.01
编辑:感谢贡献者,提供了有效的代码。
答案 0 :(得分:1)
这是常见的逻辑谬误。如果其中一个条件为假,则其他条件中的至少一个将为真。
将所有“或”运算符更改为“与”。当所有条件都不成立时,将删除该行。
If InStr(sht.Cells(i, 1).Value, ".01") <> 5 And InStr(sht.Cells(i, 1).Value, ".04") <> 5 And _
InStr(sht.Cells(i, 1).Value, ".07") <> 5 And InStr(sht.Cells(i, 1).Value, ".1") <> 5 Then
如评论中所述,删除行应始终从下至上执行。
For i = LastRow to 9 step -1