gpt4 book ai didi

vba - 在工作表的右上角显示用户表单

转载 作者:行者123 更新时间:2023-12-04 19:50:58 26 4
gpt4 key购买 nike

我需要我制作的用户表单显示在工作表的右上角。我想我可以手动设置位置,但是当工作簿在具有不同屏幕分辨率的不同计算机上打开时,用户窗体几乎完全不在屏幕上。下面我的 VBA 代码有什么问题,它是为了让用户窗体自己定位,以便整个东西都显示在屏幕的右上角?它只是没有做任何事情,我认为那是因为代码不正确。

Private Sub UserForm_Activate()

Me.StartUpPosition = 0
Me.Top = Application.Top + 25
Me.Left = Application.Left + Application.Width - Me.Width - 25

End Sub

最佳答案

它应该在用户表单模块中。它对我有用,但我运行的是 1366 分辨率。有趣的是,Excel 的 applicaabovtion.width 对我显示为 1033.5。我在 debug.print 的另一个答案中编辑了子例程,您的值是什么。尝试再次在您的用户表单模块中替换它。然后返回 VBA 编辑器,查看立即窗口中打印的内容。这样你就可以用不同的分辨率测试不同的工作站,并可能找出哪里出了问题。只需确保您设置了 View - Immediate Window 以查看打印出来的内容。

如果所有其他方法都失败了,则可能是您需要针对每个用户的分辨率进行调整。请记住,1600 分辨率中的 25 点就像 800 分辨率中的 50 点。

Private Declare Function GetSystemMetrics Lib "user32.dll" (ByVal nIndex As Long) As Long
Const SM_CXSCREEN = 0
Const SM_CYSCREEN = 1

Sub VerifyScreenResolution()

Dim x As Long
Dim y As Long

x = GetSystemMetrics(SM_CXSCREEN)
y = GetSystemMetrics(SM_CYSCREEN)

Debug.Print x, y

End Sub

关于vba - 在工作表的右上角显示用户表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42047224/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com