简单的循环/ If语句场景

时间:2016-10-14 08:11:59

标签: excel-vba vba excel

我一直在尝试编写代码来做一些非常简单的事情,似乎无法实现它。对此的任何帮助都将深表感谢。

场景 - 请参见下面的截图:                                                                             Screenshot

我想做什么:

循环遍历行,如果该行中标记为“STATUS”的列中的单元格在该行中显示“DUE SOON”,则清除STATUS之后的单元格中的数据。如果没有数据,这些单元格被格式化为黄色;或者,如果存在“C”,则它们保持灰色。因此,简而言之,如果STATUS单元格中存在DUE SOON,则由于空单元格的格式化,接下来的10个单元格将变为黄色。

我也尝试使用“REMAINING”列单元格,如果数字小于15,那么同样的事情应该发生 - 也没有成功。这两种情况都有效。

我理解如何清除单元格,以及如何使用for循环遍历行,但是这个任务比我有限的编程技能允许的要复杂一点,所以有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

我认为这可以做你想要的。

 Sub Deleteif()


Dim iCntr As Long
Dim iLastRow As Long
   iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
Range("A1").Select

For iCntr = iLastRow To 1 Step -1
    If Cells(iCntr, "COLUMN NUMBER FOR THE COLUMN CONTAINING STATUS").Value = "DUE SOON" Then
        ActiveCell.Select
        ActiveCell.Offset(0, 1).Select
        Range(ActiveCell, ActiveCell.Offset(0, 10)).Select
        Selection.Value = ""
        Cells(iCntr, 1).Select
    End If
    Next

End Sub
相关问题