专栏名称: 完美Excel
Excel与VBA技术学习与实践
目录
相关文章推荐
51好读  ›  专栏  ›  完美Excel

居中VBA用户窗体并设置滚动条

完美Excel  · 公众号  · Excel  · 2024-09-14 07:31

主要观点总结

文章介绍了如何设置Excel中的用户窗体,包括使其始终显示在应用程序窗口的中心,以及在需要时自动添加滚动条。文章还提供了相关代码示例。

关键观点总结

关键观点1: 用户窗体始终显示在应用程序窗口的中心

通过使用特定的VBA代码,可以确保用户窗体在打开时始终自动显示在应用程序窗口的中心。

关键观点2: 自动添加滚动条

文章介绍了如何根据用户窗体的尺寸自动添加水平和/或垂直滚动条,以及在窗体尺寸大于应用程序窗口尺寸时如何处理滚动条。

关键观点3: 代码示例

文章提供了相关的VBA代码示例,包括在用户窗体代码模块中添加的代码,以及在动态打开或激活用户窗体时如何调整窗体大小和滚动条的设置。

关键观点4: 资源与交流

文章鼓励读者在下面留言完善内容,并介绍了知识星球的完美Excel社群,鼓励读者加入进行技术交流和提问,获取更多电子资料。


正文

请到「今天看啥」查看全文


学习Excel技术,关注微信公众号:
excelperfect

标签: VBA 用户窗体

当用户打开用户窗体时,你是否想让它们总是位于应用程序窗口的中心,是否想要在用户窗体尺寸大于应用程序窗口尺寸时,用户窗体会自动获得滚动条。默认情况下,你可以为用户窗体启用滚动条,但如果尺寸足够大,看起来会不美观,因为用户窗体上的滚动条将变灰。

下面的代码确保用户窗体始终自动显示在应用程序窗口的中心,并在需要时自动添加水平和 / 或垂直滚动条。

Public Sub CenterFormAndSetScrollBars(frm As Object) With frm   .StartUpPosition = 0   .ScrollBars = fmScrollBarsNone   If .Width < Application.Width Then     .Left = Application.Left + 0.5 *     Application.Width - 0.5 * .Width   Else     .ScrollBars = fmScrollBarsHorizontal     If .ScrollWidth = 0 Then       .ScrollWidth = .Width       .ScrollLeft = 0     End If     .Left = Application.Left     .Width = Application.Width   End If   If .Height < Application.Height Then     .Top = Application.Top + 0.5 * Application.Height - 0.5 * .Height   Else     If .ScrollBars = fmScrollBarsHorizontal Then       .ScrollBars = fmScrollBarsBoth     Else       .ScrollBars = fmScrollBarsVertical     End If     .ScrollHeight = .Height     .ScrollTop = 0     .Top = Application.Top     .Height = Application.Height   End If End WithEnd Sub

在用户窗体代码模块中,添加下面的代码:

Private Sub UserForm_Initialize() CenterFormAndSetScrollBars MeEnd Sub

如果在动态打开或激活用户窗体时调整了用户窗体的大小,则必须在此尺寸调整后再调用 CenterFormAndSetSrollBars 过程:

Private Sub UserForm_Initialize() Me.Width = 100 CenterFormAndSetScrollBars MeEnd Sub

注:上述代码整理自 worksheetsvba.com ,供参考。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。 欢迎到知识星球: 完美 Excel 社群 ,进行技术交流和提问,获取更 多电子资料,并通过社群加入专门的微信讨论群,更方便交流。







请到「今天看啥」查看全文