这个很难解释。假设您在 Excel 中,按向下键在行中向下移动。到达屏幕底部后,再次按下向下键将使电子表格一次向下滚动一行,这样您选择的单元格就不会超出可见范围。
奇怪的是,我希望这种行为发生在我(比方说)从底部算起 20 行时。所以在我选择的单元格下方总是有 20 个可见行。
我不会是第一个想要这种行为的人 - 有谁知道这是否可能,如果可能的话如何? VBA 中的任何事情(几乎)都是可能的,但如果可能的话,我更喜欢非脚本解决方案 - 谢谢!
这个很难解释。假设您在 Excel 中,按向下键在行中向下移动。到达屏幕底部后,再次按下向下键将使电子表格一次向下滚动一行,这样您选择的单元格就不会超出可见范围。
奇怪的是,我希望这种行为发生在我(比方说)从底部算起 20 行时。所以在我选择的单元格下方总是有 20 个可见行。
我不会是第一个想要这种行为的人 - 有谁知道这是否可能,如果可能的话如何? VBA 中的任何事情(几乎)都是可能的,但如果可能的话,我更喜欢非脚本解决方案 - 谢谢!
对于涉足 z/OS 的人来说,这是很容易理解的……
在vba之外,我知道滚动锁可以防止选择在移动时发生变化,向上/向下翻页可以保持相同的视觉光标位置,但也可以移动屏幕上显示的行;两者都不符合要求。
我为此设计了一个特例 - 它使选择永久居中,至少当单元格大小固定时(否则计算会很混乱,正如所指出的那样,并且可能更慢)。显示范围,即屏幕大小+缩放,可以动态确定,只需很少的额外费用。也没有处理范围选择 - 将根据左上角的单元格居中而不是居中或忽略,也不会将事件动态添加到新工作表。
添加 20% - 80% 边缘限制应该相对简单(需要引入“动量”概念,然后检查所选行 - 可见顶行 > 0.8 * 屏幕行等);但是,可靠的解决方案超出了我的范围。