excel 2010 - 突出显示任何公式中使用的单元格

excel 2010 - 突出显示任何公式中使用的单元格

我需要对长列的值进行求和,并将它们分成几组。我不想错过任何一行。所以我需要突出显示我已经在某些公式中使用的所有单元格(例如=D1+D2)。

当我双击公式时,使用的单元格会突出显示。我想要这种效果。我发现这个CTRL [技巧可以实现这一点,但它对我的装有 Excel 2010 的电脑没有效果。还有其他可能性吗?谢谢

例如,我有两列,第一列是数据,第二列是分组。A4 未使用,A1..A3 应突出显示为已使用。

**1**    =A1+A2
**3**    =A3
**2**
4

答案1

我不认为布局是你想要的,但这可能就足够了:你也许能够使用 Trace Dependents/Precedents

它位于公式的工具栏中,在公式审核下(并且在同一位置有删除箭头的选项)

在此处输入图片描述

更多细节

但是,我不喜欢上面的代码。现在,这真的取决于你的需求,但我很快为你编写了这个 VBa

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

以上产生以下内容(我启用了公式,以便您可以看到哪些单元格中有公式)

宏并不完美,但我真的不知道您的需求,所以如果您(按照您帖子中的示例)有简单的公式,它应该可以正常工作。

请注意,它将改变单元格背景颜色,撤消将不起作用!因此,如果您已经在使用突出显示,则需要更新代码!这也意味着在运行此宏后,您需要手动选择工作表并将背景颜色恢复为您选择的颜色...

在此处输入图片描述

为了扩展它,您可以更新 for 循环并将其替换为

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

检查工作表中的每个单元格,看是否存在公式......

答案2

转到空白单元格 - 在此单元格中输入 =V40=1:1048576,其中第一个引用(在本例中为 v40)指的是另一个空白单元格。第二部分突出显示整个工作表。

按 Enter 键,然后单击单元格,单击查看公式,然后双击跟踪先例。这将绘制指向另一个单元格中引用的每个单元格的蓝色链接。查找没有线的单元格 - 它们已被遗漏。

答案3

我准备了以下宏,将选定的单元格分类为“输入”、“计算”和“输出”,代码将分配名为“输入”、“计算”和“输出”的样式。这对于了解其他人准备的表格或调试表格很有用。

代码的输出将如下所示(我已启用“显示公式”)。 在此处输入图片描述

将以下代码放在“工作表代码”中,而不是模块中。

'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

相关内容