Excel 2015,在满足条件时冻结单元格的图形

Excel 2015,在满足条件时冻结单元格的图形,excel,Excel,我正在使用Excel 2015。当单元格中的图形达到或超过某个限制时,我希望该单元格锁定/释放,这样当我返回单元格时,仍然可以看到已达到该限制 问题是,这是一个动态图表,数字可能会回到极限以下,敲击指示灯,告诉我极限已经达到。我可以为何时达到限制设置警告/指示器,但无法确定如何冻结达到的限制。如果需要,可以在旁边的单元格中进行冻结。使用标准功能无法轻松完成此操作,但您可以使用: 在“开发人员”选项卡上,选择“查看代码”以查看工作簿的代码-这将打开Visual Basic编辑器 选择Insert-

我正在使用Excel 2015。当单元格中的图形达到或超过某个限制时,我希望该单元格锁定/释放,这样当我返回单元格时,仍然可以看到已达到该限制


问题是,这是一个动态图表,数字可能会回到极限以下,敲击指示灯,告诉我极限已经达到。我可以为何时达到限制设置警告/指示器,但无法确定如何冻结达到的限制。如果需要,可以在旁边的单元格中进行冻结。

使用标准功能无法轻松完成此操作,但您可以使用:

在“开发人员”选项卡上,选择“查看代码”以查看工作簿的代码-这将打开Visual Basic编辑器

选择Insert->Module,您应该会在树中看到一个“Modules”分支,展开它并双击您刚刚插入的Module1

添加以下代码

Public Curmax(10) As Double
Public Reset As Boolean
现在,如果在单元格中输入=RunMaxA1,1,它将保持单元格A1中的运行最大值作为最大引用号1,以添加另一个,然后只需将引用-=RunMaxC3,2,=RunMaxF56,3增加到最大值10,或将公共Curmax10中的任何值作为双精度

如果您在页面上放置一个按钮,将ClearRunMax宏分配给它,那么如果您选择一个包含RunMax语句的调用,然后单击该按钮,它会将最大值重置为您正在跟踪的单元格的当前值(假设该值>0)


这是可以改进的,我会第一个承认。例如,没有错误检查。如果按下按钮时选择了错误的单元格,则会出现类型不匹配。此外,如果您的值为负值,则重置将不起作用。

非常感谢。今晚我会试试,让你知道进展如何。很抱歉,我在错误的评论部分发布了回复。它应该在这里。请阅读上面的内容。嗨@Eamonn,如果我的答案对你有帮助,那么习惯上会将答案标记为“已接受”。至于拖入其他单元格,不,那是不行的,这是它的局限性之一。在函数中,每个单元格都需要另一个公共变量,以及选择更新哪一个的方法。这应该不会太难。嗨,SiHa。我肯定会接受你的回答。如果你有任何家具设计/制作方面的问题,请毫不犹豫地提问。有没有可能发布你关于如何使用多个独立数字的建议?@Eamonn:请看编辑后的答案,这样最多可以跟踪10个独立的最大值。嗨,我等不及今晚了。我得马上去试一下,呵呵。这是一种享受。再次感谢。如果想要将此应用于不同独立人物的列表。是否有办法将其拖动到其他单元格中,或者是重复每个独立图形的代码?
Function RunMax(Cell As Range, maxref As Integer) As Double
    Application.Volatile (True) 'Ensures UDF is run when the sheet recalculates
    If Cell.Value > Curmax(maxref) Then
        Curmax(maxref) = Cell.Value
    End If
    RunMax = Curmax(maxref)
End Function
Sub ClearRunMax()
    With ActiveCell
        maxref = Mid(.Formula, InStr(.Formula, ",") + 1, 1)
        Curmax(maxref) = 0
        ActiveSheet.Calculate
    End With
End Sub