在 Excel 中冻结窗格

在 Excel 中冻结窗格

我一直在想这是否可行。所以如果有人能帮忙回答一个简单的问题,我将不胜感激。

是否可以先冻结前两行,然后向下滚动 50 行后用第 50 行和第 51 行替换冻结的行?

答案1

没有原生公式或功能可以执行此操作,因为单元格无法分辨哪个单元格被选中/当前哪些单元格在视图中。您需要编写 VBA 宏代码来根据当前选定的单元格或当前可见的视图更改第 1 行和第 2 行的内容。所以是的,这是可以做到的,但需要编写代码。

例如,您可以使用这个 UDF(https://excel.tips.net/T002302_Displaying_the_Selected_Cells_Address.html)将第 1 行和第 2 行中的数据更改为公式,例如在 A1 中=IF(ROW(INDIRECT(CurrentCell()))>49, A50, "Original A1 data here")

请注意,这也有一些缺点。此 UDF 不稳定,会一直重新计算,这在大型工作簿中可能是一个问题。此外,您的撤消功能可能会受到影响(不确定,因为 UDF 不会写入工作表,只会读取光标的状态)。

相关内容