VBA:对季度数据进行排序

时间:2019-02-17 17:57:48

标签: excel vba

我正在过滤某些数据,使其仅包含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

编辑:感谢贡献者,提供了有效的代码。

1 个答案:

答案 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