清除特定范围的内容

Clear Contents of Specific Ranges

我对 VBA 还是个新手。我想清除黄色headers下方的所有数据内容(第3行到第12行,第15行到第24行等),而不删除所有headers,如图所示(图 1 变为图 2)。 headers 一直向下到第 109 行(从第 1 行开始增加 12,因此第 1、13、25 ...85 行)。我有一个代码,但它太基础且太长:

 Sub Clear_All()

 Set Unitsheet = ThisWorkbook.Worksheets("Sheet"1)
  Unitsheet.Range("A3:F12").ClearContents
 Unitsheet.Range("A15:F24").ClearContents
 .
 .
 .
 .'up to
   Unitsheet.Range("A111:F120").ClearContents

End Sub

我需要一个简短的代码,因为行数可能超过 1000。 任何帮助将不胜感激。

|
|
V

Sub clear()
Dim i, rows As Long
rows = ActiveSheet.UsedRange.rows.Count
For i = 1 To rows
    If Sheet1.Cells(i, 1).Interior.ColorIndex = -4142 Then
        Sheet1.Cells(i, 1).EntireRow.ClearContents
    End If
Next
End Sub

此函数查找工作表 1 中所有使用的行
它遍历所有行,如果 A 列中单元格的颜色没有颜色索引 (-4142),它会清除整行中的所有内容