Excel 带有滚动条的用户窗体无法在窗体顶部打开
Excel userform with scrollbar won't open at top of form
我试图让我的用户表单在表单顶部打开,但无论我尝试了什么,它总是在表单底部打开。我在下面包含了 UserForm_Initialize() 的代码以及表格打开方式的图片。
Private Sub UserForm_Initialize()
Dim myPath As Variant
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
Workbooks("ECP Logistics Tool.xlsm").Activate
'I have tried several methods based on my Google attempts to fix this issue:
'Hiring_Validation_Form.ScrollTop = 0
'Hiring_Validation_Form.Scroll (fmScrollActionBegin)
'Neither of these work, the form still opens at the bottom instead of the top.
myPath = ThisWorkbook.Path
Image1.Picture = LoadPicture(myPath & "\Resources\ECP Logo.jpg")
'Set default date for Start Date
Date1 = Workbooks("ECP Logistics Tool.xlsm").Sheets("Lists").Range("M2").Value
Hiring_Validation_Form.DTPicker1.Value = Date1
'Set default date for End Date
'Change start date to 1st monday after today's date
Workbooks("ECP Logistics Tool.xlsm").Activate
Sheets("Lists").Select
Range("N2").Select
ActiveCell.FormulaR1C1 = "=TODAY() + 70"
CurDate = Cells(2, 14).Value
For i = 1 To 7
If Weekday(CurDate) <> vbMonday Then
CurDate = CurDate + 1
Else
Range("N2").Select
ActiveCell.FormulaR1C1 = CurDate
GoTo exitLoop
End If
Next i
exitLoop:
Date2 = Workbooks("ECP Logistics Tool.xlsm").Sheets("Lists").Range("N2").Value
Hiring_Validation_Form.DTPicker2.Value = Date2
End Sub
@Bonnie Z,在带有标签的组合框或列表框上的表单设计 right-click 中,“Select 培训类型:”选择(单击)“属性”。将 TabIndex 设置为 0。保存并测试对加载行为的影响。如果它按您想要的方式工作,请返回并将其他(...框和按钮,而不是标签)从上到下(表单的)设置为 1、2、3,...等等。从我们所见,“提交”按钮的 TabIndex 为 16。但这取决于您的表单上实际的第一个框是什么。不确定我们在粘贴中看到它。看我下面的贴..,呃,上面。
我试图让我的用户表单在表单顶部打开,但无论我尝试了什么,它总是在表单底部打开。我在下面包含了 UserForm_Initialize() 的代码以及表格打开方式的图片。
Private Sub UserForm_Initialize()
Dim myPath As Variant
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
Workbooks("ECP Logistics Tool.xlsm").Activate
'I have tried several methods based on my Google attempts to fix this issue:
'Hiring_Validation_Form.ScrollTop = 0
'Hiring_Validation_Form.Scroll (fmScrollActionBegin)
'Neither of these work, the form still opens at the bottom instead of the top.
myPath = ThisWorkbook.Path
Image1.Picture = LoadPicture(myPath & "\Resources\ECP Logo.jpg")
'Set default date for Start Date
Date1 = Workbooks("ECP Logistics Tool.xlsm").Sheets("Lists").Range("M2").Value
Hiring_Validation_Form.DTPicker1.Value = Date1
'Set default date for End Date
'Change start date to 1st monday after today's date
Workbooks("ECP Logistics Tool.xlsm").Activate
Sheets("Lists").Select
Range("N2").Select
ActiveCell.FormulaR1C1 = "=TODAY() + 70"
CurDate = Cells(2, 14).Value
For i = 1 To 7
If Weekday(CurDate) <> vbMonday Then
CurDate = CurDate + 1
Else
Range("N2").Select
ActiveCell.FormulaR1C1 = CurDate
GoTo exitLoop
End If
Next i
exitLoop:
Date2 = Workbooks("ECP Logistics Tool.xlsm").Sheets("Lists").Range("N2").Value
Hiring_Validation_Form.DTPicker2.Value = Date2
End Sub