Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何在不建立索引的情况下删除突出显示的单元格?_Excel_Vba - Fatal编程技术网

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

Excel 如何在不建立索引的情况下删除突出显示的单元格?,excel,vba,Excel,Vba,我试图删除所有突出显示为黄色的单元格,只留下未突出显示的值。但是,每次我删除高亮显示的单元格时,它正下方的单元格都会向上索引到它的位置,因为该值会向上移动到另一个单元格中,它在循环中会丢失。我是否可以防止高亮显示单元格下方的单元格向上索引 Sub DeleteColoredCells() Dim Rng As Range Dim sCell As Range Set Rng = Range("A1:E4") For Each sCell In Rng

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

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

如果您正试图这样做,请尝试
sCell.Value=”“
,而不是
sCell.Delete