excel 条件格式滞后(视觉上)

0s0u357o  于 2023-05-19  发布在  其他
关注(0)|答案(2)|浏览(140)

如果工作表中还没有任何代码可用于自动更新条件格式,我会在其中插入代码。这对某些工作表很好,但其他工作表在视觉上落后。
这是一个随机选择的单元格,我将代码和条件格式插入到工作表中:x1c 0d1x这只是为了跟踪我在不同的工作簿/程序中工作时在更大的数据集中的位置。
对于这个工作表(我以前遇到过这个问题,但不知道如何重现),“初始”状态在某些区域滞后,如下所示

但是,如果我使用代码中的最后两行,或者我向下滚动(到问题不再可见的地方),然后向上滚动,视觉故障就消失了。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error GoTo skipEnd
    If Target.Cells.Count = 1 Then
        If Application.CutCopyMode = False Then
            Application.Calculate
        End If
    End If
'    Application.ScreenUpdating = False
'    Application.ScreenUpdating = True
skipEnd:
End Sub

On Error GoTo skipEnd仅用于在选择整个工作表时阻止溢出错误。
当它发生时,它总是相同的行,不管我从哪一列/单元格开始。没有分裂或任何我能想到的,可以扔在我的其他快乐的小生活质量更新扳手。
有没有人有一个想法,如何防止这种情况,而不是需要 Flink 的Application.ScreenUpdating?(特别是因为这种情况只是偶尔发生)
附言:我知道人们要求一个可重现的问题,只是希望其他人偶然发现了一个解决方案,而不是一个补丁。

xwbd5t1u

xwbd5t1u1#

CELL("rij")仅在计算发生时更新。如果只是选择一个新行,则不会出现这种情况。
Target.Calculate添加到Worksheet_SelectionChange-event -然后CELL("rij")也会更新。

jfewjypa

jfewjypa2#

你什么都不需要不要在Worksheet_SelectionChange中使用Application.ScreenUpdating。只要用另存为以不同的名称保存这本书,关闭它,打开它,一切都会被修复。
在上面的方法中,我可以修复类似的东西。还有一次,我不得不从菜单中清除工作表上的所有规则,从而删除这两条规则(它们形成了一个十字架)。当我把它们写回来的时候,它们工作得很好。
解决此问题的第三种方法是:1)删除工作表的规则2)更改单元格的高度(我的情况下将其设置为30),3)将高度设置回来(在我的情况下为15,75)4)重写规则

相关问题