Я пытаюсь навсегда изменить пользовательскую форму, чтобы мне нужно было запускать код только один раз, а не каждый раз, когда нажимается кнопка для открытия пользовательской формы.
Я обнаружил, что это работает для некоторых людей. Я не уверен, что может быть не так для меня.
Sub FormatUserForms(UF As UserForm)
UF.BackColor = RGB(51, 51, 102)
Dim ctrl As Control
With ThisWorkbook.VBProject.VBComponents("UFNewRequest").Designer
For Each ctrl In UF.Controls
Select Case TypeName(ctrl)
Case "Label"
ctrl.BackColor = RGB(51, 51, 102)
ctrl.ForeColor = RGB(247, 247, 247)
Case "CommandButton"
ctrl.BackColor = RGB(247, 247, 247)
ctrl.ForeColor = RGB(0, 0, 0)
Case "TextBox"
ctrl.BackColor = RGB(247, 247, 247)
ctrl.ForeColor = RGB(0, 0, 0)
Case "OptionButton"
ctrl.BackColor = RGB(51, 51, 102)
ctrl.ForeColor = RGB(247, 247, 247)
End Select
Next
End With
End Sub
Sub formatting()
FormatUserForms UFNewRequest
End Sub
Спасибо за любую помощь в этом!
UF
и вместо него используйтеMe
, как вам сказали вчера .FormatUserForms UFNewRequest
отправляет экземпляр по умолчанию, который не обязательно является экземпляром, выполняющимся в данный момент. - person Mathieu Guindon   schedule 24.02.2017TextBox
должен быть на пару оттенков светлее. - person Comintern   schedule 24.02.2017