我想把excel文件隐藏在Userform后面。
有没有可能当我用光标移动Userform时,UserForm后面的Excel应用程序也会移动?
发布于 2017-05-01 21:42:18
应用程序具有可定义的属性
用法如下:
Application.Top = 0在用户表单的各种事件中使用它,直到你找到你想要的东西。
我强烈建议学习如何捕获用户表单的值,然后将它们分配给应用程序。
发布于 2017-05-01 22:23:38
通过@DougCoats扩展答案-将Application.WindowState设置为xlNormal以操作Application属性(如Top和Left等)非常重要。请参阅以下代码-您需要在工作簿中包括Module和UserForm:
Module1
Option Explicit
Sub TestForm()
UserForm1.Show
End SubUserForm1
Option Explicit
Private Sub UserForm_Initialize()
HideApplicationBehindUserForm
End Sub
Private Sub UserForm_Layout()
HideApplicationBehindUserForm
End Sub
Private Sub HideApplicationBehindUserForm()
With Application
.WindowState = xlNormal
.Top = Me.Top
.Left = Me.Left
.Height = Me.Height
.Width = Me.Width
End With
End Sub当您打开UserForm时,Initialize事件会将其隐藏在Excel应用程序的后面。当您使用鼠标四处移动UserForm时,Layout事件会将应用程序移动到UserForm后面。代码在两种情况下都是相同的- HideApplicationBehindUserForm。
我发现我的Excel有一个小问题,应用程序稍微偏离了UserForm的边界

https://stackoverflow.com/questions/43719908
复制相似问题