我一直在尝试编写代码来做一些非常简单的事情,似乎无法实现它。对此的任何帮助都将深表感谢。
场景 - 请参见下面的截图: Screenshot
我想做什么:
循环遍历行,如果该行中标记为“STATUS”的列中的单元格在该行中显示“DUE SOON”,则清除STATUS之后的单元格中的数据。如果没有数据,这些单元格被格式化为黄色;或者,如果存在“C”,则它们保持灰色。因此,简而言之,如果STATUS单元格中存在DUE SOON,则由于空单元格的格式化,接下来的10个单元格将变为黄色。
我也尝试使用“REMAINING”列单元格,如果数字小于15,那么同样的事情应该发生 - 也没有成功。这两种情况都有效。
我理解如何清除单元格,以及如何使用for循环遍历行,但是这个任务比我有限的编程技能允许的要复杂一点,所以有人能指出我正确的方向吗?
答案 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