一些背景:
我最近发现以下公式返回当前所选单元格的地址(或者如果选择了范围,则返回该范围中最左上角单元格的地址):
= CELL("address")
起初,我认为这个公式对于条件格式化很有用,因为它可以用作条件的一部分,仅格式化选定的单元格(例如,条件格式化规则可能类似于 = CELL ("address")=ADDRESS(ROW(),COLUMN())
),但我遇到了障碍。
公式是 volatile 的,但 volatile 函数仅在以下情况下更新:
工作表中的单元格已更改
按下键盘上的 F9
总而言之,我的问题是:有没有办法让单元格在通过鼠标单击选择不同的单元格时自动重新计算?即使是 volatile 单元格也不会在这种情况下更新,因为选择不同的单元格本身不会导致单元格中的任何数据发生更改。
当然,可以在选择不同的单元格后按F9来手动更新它,但我想知道是否有办法自动执行此操作。
最佳答案
您可以在 VBA 中使用 Worksheet_SelectionChange() 事件。
打开 VBE (Alt+F11),在 VBAProject Pane (左上角)中找到您的工作簿,然后双击您的工作表。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Force this cell to recalculate any time any cell is selected/highlighted
Range("A1").Calculate
End Sub
现在,只要在工作表单元格 A1 上移动,就会重新计算。
关于Excel - 选择不同单元格时强制重新计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48693507/