定位两个userform,它们之间没有空格

时间:2016-07-13 13:34:51

标签: excel vba excel-vba userform

我如何调整用户形态位置,以便在初始化时将它们并排放置,即删除它们之间的空间。

enter image description here

从答案中我尝试了这个,但它没有工作

CIF.Show
With CIF
    .Top = Application.Top + 5
    .Left = Application.Left + 10
End With

Instructions.Show
With Instructions
    .Top = Application.Top + 5
    .Left = CIF.Left + CIF.Width
End With

3 个答案:

答案 0 :(得分:2)

这有用吗?

Sub test()
With CIF
.Show vbModeless
.Left = .Left - .Width / 2
End With
With Instructions
.Show vbModeless
.Left = .Left - .Width / 2
End With
Unload CIF
Unload Instructions
End sub

enter image description here

更新
避免重叠
似乎在关闭按钮和用户形式的边界中有一个常数值7。下面应该解决它(与用户形式大小无关)。

Sub test()
With CIF
.Show vbModeless
.Left = .Left - .Width / 2
End With
With Instructions
.Show vbModeless
.Left = CIF.Left + CIF.Width + 7
End With
Unload CIF
Unload Instructions

enter image description here

答案 1 :(得分:1)

将第二个表单的Left选项设置为第一个表单的Left +第一个表单的Width

UserForm2.Left = UserForm1.Left + UserForm1.Width

在Windows 7上,我不得不再添加7个像素,所以这样:

UserForm2.Left = UserForm1.Left + UserForm1.Width + 7

您可能需要根据操作系统修改此内容

答案 2 :(得分:1)

您需要将StartUpPosition属性更改为手动(值得= 0,我相信)。然后,您可以调整顶部和左侧放置以消除间隙