Excel VBA 浮动对象

Excel VBA 浮动对象

浏览了所有论坛,但问题没有得到解决。我想使用形状创建一个自定义按钮栏,然后将其停靠在 Excel 底部。这很棘手,因为每个用户的显示器和屏幕分辨率都不同。经过一番研究,我似乎可以使用 application.height 和 object.top 来定位按钮栏。问题是,当我上下滚动页面时,我需要在滚动时运行宏。这可能吗?

答案1

我想不出任何使用形状的方法,但你可以将用户表单添加到你的项目中,然后将你想要的按钮/标签/图片添加到表单中。默认情况下,表单独立于 Excel 工作表运行,因此它不受滚动的影响,但它仍位于 Excel 窗口的顶部。

要添加表单,请打开代码窗口,右键单击 VBAProject 并选择插入...=>用户窗体。您可以使用Application.WidthApplication.HeightApplication.TopApplication.Left确定用户的 Excel 窗口在屏幕上的位置,然后使用UserForm1.Width等根据需要重新定位表单以将其保持在您想要的位置(UserForm1用您命名的表单对象的名称替换)。

您可以将表单打开到屏幕上的特定位置,但用户可以移动它(我以前没有尝试过锁定表单的位置)。如果您愿意,您必须确定要监视哪些事件以重新定位表单。请记住,监视太多或太频繁会导致用户的整体性能下降。

相关内容