excel - 如何在不索引的情况下删除突出显示的单元格?

标签 excel vba

我正在尝试删除所有以黄色突出显示的单元格,只留下未突出显示的值。但是,每次我删除突出显示的单元格时,它正下方的单元格都会索引到它的位置,因为该值向上移动到另一个单元格中,它在循环中被遗漏了。我可以防止突出显示的单元格下方的单元格向上索引吗?

Sub DeleteColoredCells()

    Dim Rng As Range
    Dim sCell As Range
    Set Rng = Range("A1:E4")
        For Each sCell In Rng
            If sCell.Interior.color = vbYellow Then
                sCell.Delete
            End If
        Next sCell
End Sub

最佳答案

如果您也想清除格式,请使用此选项。如果你不这样做,而不是 ClearContents使用 Clear

Sub DeleteColoredCells()

    Dim Rng As Range
    Dim sCell As Range
    Set Rng = Range("A1:E4")
        For Each sCell In Rng
            If sCell.Interior.color = vbYellow Then
                sCell.ClearContents
            End If
        Next sCell
End Sub

关于excel - 如何在不索引的情况下删除突出显示的单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57597026/

相关文章:

arrays - 将逗号分隔的数组作为函数参数传递

java - 如何将Xlloop集成到JAVA Web服务器中?

Excel VBA - 从网页中提取数据

vba - 如何要求 Excel 2010 工作簿位于特定文件路径中才能使用 VBA 打开?

excel - 如何使用带有自动覆盖功能的 workbook.saveas

excel - 关于 Dim 和 Set Worksheet 的一些疑问

Excel If 公式 - 通用错误消息

vba - 如何在 Powerpoint VBA 中运行宏 "OnEnterSlide"或 "OnLeaveSlide"?

excel - VBA在Excel中为Word文档执行宏

排序英式日期