如何在 Excel 中制作突出显示单元格的列表?

如何在 Excel 中制作突出显示单元格的列表?

我有一个包含大约 55 个工作表的 Excel 电子表格。大多数工作表有 100 多行。我正在创建一个符合特定条件的数字列表。我浏览了电子表格并用红色突出显示了我需要的所有数字。现在我想创建一个唯一值列表。

我想制作某种公式/宏/VB 代码,遍历 55 个工作表中的每一个,并列出所有以红色突出显示的数字。有没有办法做到这一点,而不需要浏览每个工作表并复制红色单元格,然后将它们粘贴到列表中?

(下一步将是消除重复的值,但我可能可以处理该步骤。)

答案1

可能是这样的?它将在所有工作表中搜索所有使用的单元格和行。那些与背景为红色相匹配的单元格和行将被复制到数组中,然后输出到新的工作表中。我没有对重复值进行排序/清理。不过,这应该不太难。顺便说一句,它会在一行中输出结果,也许你最好将其输出到一列中。可能通过创建一个每行 1 个值的 2D 数组来实现。

我猜想如果可以使用 Application.FindFormat 来完成此操作......

Sub FindReds()
    Dim myArray() As Variant
    Dim i As Integer
    Dim outWS As Worksheet

    For Each ws In ActiveWorkbook.Worksheets
        For Each Cell In ws.UsedRange.Cells
            If Cell.Interior.ColorIndex = 3 Then
                ReDim Preserve myArray(i)
                myArray(i) = Cell.Value
                i = i + 1
            End If
        Next
    Next
    Set outWS = ActiveWorkbook.Sheets.Add()
    outWS.[A1].Resize(1, UBound(myArray)) = myArray

End Sub

相关内容