Como faço uma lista de células destacadas no Excel?

1

Eu tenho uma planilha do Excel com cerca de 55 planilhas. A maioria das planilhas tem mais de 100 linhas. Estou criando uma lista de números que atendem a um critério específico. Eu passei pela planilha e destaquei todos os números de que preciso. Agora quero fazer uma lista de valores exclusivos.

Gostaria de fazer algum tipo de código fórmula / macro / VB que passe por cada uma das 55 planilhas e liste todos os números destacados em vermelho. Existe uma maneira de fazer isso sem precisar procurar cada uma das planilhas e copiar os glóbulos vermelhos e colá-los em uma lista?

(O próximo passo será eliminar os valores repetidos, mas provavelmente posso lidar com esse passo.)

    
por Stainsor 19.12.2012 / 21:46

1 resposta

0

Talvez algo assim? Ele irá procurar em toda a WorkSheet por todas as células e linhas usadas. Aqueles que coincidirem com o fundo sendo vermelho serão copiados em um Array e depois enviados para um novo WS. Deixei a classificação / limpeza de valores repetidos. Não deve ser muito difícil, no entanto. BTW ele irá produzir resultados em uma linha, talvez seja melhor para você imprimi-lo em uma coluna. Provavelmente criando um array 2D com 1 valor por linha.

Eu acho que se isso pode ser feito usando o 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
    
por 20.12.2012 / 17:55