excel 2010 - destaque as células usadas em qualquer fórmula

3

Vou precisar somar uma longa coluna de valores dividindo-os em alguns grupos. E eu não quero perder alguma linha. Por isso, preciso destacar todas as células que já usei em alguma fórmula (por exemplo, = D1 + D2).

Quando clico duas vezes na fórmula, as células usadas são destacadas. Eu quero esse efeito. Descobri que CTRL [ deve fazer este truque, mas não tem efeito em meu computador com o Excel 2010. Existe alguma outra possibilidade? Obrigado

Por exemplo Eu tenho duas colunas, a primeira são dados, a segunda é o agrupamento. A4 não é usado, A1..A3 deve ser destacado como já usado.

**1**    =A1+A2
**3**    =A3
**2**
4
    
por Leos Literak 14.05.2014 / 13:00

3 respostas

3

Eu não acho que o layout é o que você quer, mas isso pode ser suficiente: você pode ser capaz de usar Dependentes de Trace / Precedentes

Ele mora na barra de ferramentas da Fórmula, sob Auditoria de Fórmula (e dentro do mesmo local é a opção de remover as setas)

Mais detalhes

No entanto, não gosto do acima. Agora, isso realmente depende de suas necessidades, mas eu rapidamente escrevi este VBa para você

Sub Button5_Click()

'PLEASE EDIT THIS FIRST BIT. 

Dim row As Integer
row = 1    ' THE STARTING ROW IN YOUR EXCEL SHEET

Dim numberOfRows As Integer
numberOfRows = 5    'THE TOTAL NUMBER OF ROWS YOUR WORKSHEET HAS

Dim columnWithFormula As String
columnWithFormula = "E"    ' THE COLUMN WHERE THE FORMULAs ARE (I suspect you are using B if your example is accurate))

Dim colourIndex As Integer
colourIndex = 26     ' WHAT COLOUR TO HIGHLIGHT COLUMNS. GOOGLE VBa COLOR INDEX

'AND STOP EDITING :)

For row = 1 To numberOfRows

If range(columnWithFormula & row).Value <> "" Then

   Dim result As String

   result = range(columnWithFormula & row).Formula

   result = Replace(result, "(", " ")
   result = Replace(result, ")", " ")
   result = Replace(result, "-", " ")
   result = Replace(result, "+", " ")
   result = Replace(result, "*", " ")
   result = Replace(result, "/", " ")
   result = Replace(result, "=", " ")
   result = Replace(result, ",", " ")

   Dim cells() As String
   cells = Split(Trim(result), " ")

   For j = 0 To UBound(cells)
    range(cells(j)).Interior.ColorIndex = colourIndex
   Next j

End If

Next row


End Sub

O texto acima produz o seguinte (habilitei a fórmula para que você possa ver em quais células a fórmula estava)

A macro não é perfeita, mas eu não sei exatamente quais são suas necessidades, se você (conforme o exemplo em seu post) tiver uma fórmula simples, ela deve funcionar bem.

Por favor, note que mudará a cor de fundo da célula e o desfazer não funcionará! Então, se você já está usando o destaque, você precisará atualizar o código! Isso também significa que depois de executar essa macro, você precisará selecionar manualmente a planilha de trabalho e reverter a cor do plano de fundo à sua escolha ...

Para expandir isso, você pode atualizar o loop for e substituí-lo por

For Each Cell in ActiveSheet.UsedRange.Cells
      'logic
Next

para verificar cada célula na planilha para ver se existe uma fórmula em algum lugar ...

    
por 14.05.2014 / 14:01
1

vai para uma célula em branco - neste tipo de célula = V40 = 1: 1048576 onde a primeira referência (neste caso v40) se refere a outra célula em branco. A segunda parte destaca a folha inteira.

Pressione enter e clique na célula, clique em ver fórmulas e clique duas vezes em precedentes de rastreamento. Isto irá desenhar um link azul para cada célula que é referida em outra célula. Olhe para aqueles sem linhas - eles foram perdidos.

Ash

    
por 10.06.2014 / 09:37
1

Eu preparei a macro a seguir para classificar as células selecionadas em "Input", "Calculation" e "Output" e o código irá atribuir estilos nomeados como "Input" "Calculation" e "Output". Isso é útil para entender as folhas preparadas por outra pessoa ou depurar folhas.

A saída do código será semelhante à seguinte (habilitei "show formulas").

Coloqueocódigoabaixoem"Sheet code" não no módulo.

'Macro to classify the cells from selected range into "input", "calculation" and "output"
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    With ActiveSheet.Cells
        .Interior.ColorIndex = xlColorIndexNone
        .Font.ColorIndex = xlAutomatic
        .Font.Bold = False
    End With
    Dim rCell As Range
    Application.EnableEvents = False
    For Each rCell In Target.Cells
        If IsEmpty(rCell.Value) = True Then GoTo AllDone:
        If Not rCell.HasFormula Then
            If HasDependents(rCell) Then
                rCell.Style = "Input"
                GoTo AllDone:
            Else
                GoTo AllDone:
            End If
        Else
            If HasDependents(rCell) Then
                rCell.Style = "Calculation"
                GoTo AllDone:
            Else
                rCell.Style = "Output"
                GoTo AllDone:
            End If
        End If
AllDone:
Err.Clear
    Next rCell
    Application.EnableEvents = True
End Sub
Public Function HasDependents(ByVal Target As Excel.Range) As Boolean
    On Error Resume Next
    HasDependents = Target.Dependents.Count
End Function
    
por 16.03.2016 / 05:56