我有一个带有按钮的用户窗体,用于保存工作簿和放大/缩小。这个框架目前位于用户窗体的底部,但我试图做的是在窗体的左侧有一个浮动框架。
框架的“左”位置将是固定的,但框架将继续保持在用户向上或向下滚动窗体的相同“顶部”位置。
初始化userform时,我有以下代码:
.Top = Application.Top + (0.5 * Application.Height) - (0.5 * .Height)
我将框架的代码放入各种MouseMove和Scroll操作中,但是一旦框架在第一个实例中就位,它就不会移动框架。
感谢任何帮助,我理解这可能是不可能的,或者是最终用户的有效解决方案。感谢
答案 0 :(得分:0)
问题在于Excel是基于事件的。如果您想在表单中的某个位置使用浮动框架,则需要捕获可能发生的所有可能事件,并可能将“浮动”框架从您希望的位置移动。之后,您需要在表单中调整框架的位置,以产生其浮动的错觉 - 事实上 - 每次表单更改或滚动时框架都会在表单中重新对齐。
这可能有点难以实现,并且可以生成大量代码。但也许另一种解决方案可能是打开多个表单并同时向用户显示? “浮动”框架可以是放置在Excel左上角的一种形式,另一种形式显示在Excel的中心。根据用户的某些事件和操作,这可能会对form1,form2或基础Excel工作簿产生影响(如您所见)。
要在Excel中使用多个表单,只需使用选项Modal = false。
向用户显示表单UserForm1.Show(false)
UserForm2.Show(false)
希望有所帮助。