Итак, у меня есть эта пользовательская форма, в которую пользователь вводит данные, некоторые в комбинированных полях, а некоторые в текстовых полях. Затем эти данные заполняются на листе. Каков наилучший способ заставить пользователя снова отобразить эти данные, когда они будут открыты в следующий раз? Поэтому, если пользователь вводит «2014» в поле «Модель / год запуска», а затем нажимает «Отправить» и закрывает поле «От», в следующий раз, когда он откроет его, я хочу, чтобы в этом поле по-прежнему было указано «2014». Код ниже и работает, он, вероятно, грязный и неэффективный, так как я новичок в кодировании и vba, я больше озабочен тем, чтобы заставить эту функцию работать здесь, а не оптимизировал мой код. Спасибо!

'=========================================================Populating User Form Drop Downs============================================================
Private Sub UserForm_Initialize()
'populate OEM drop down
With Me.ComboBox1
.AddItem "GM"
.AddItem "Ford"
.AddItem "FCA"
.AddItem "Toyota"
.AddItem "Nissan"
.AddItem "Isuzu"
.AddItem "Other"
End With
'populate Program stage dropdown
With Me.ComboBox4
.AddItem "Screen Approval"
.AddItem "Quote Approval"
.AddItem "Program Start"
.AddItem "Design Verification Release"
.AddItem "Production Validation Release"
.AddItem "Production Part Approval Process"
.AddItem "Start of Production"
.AddItem "Program Closure"
End With
'Populate Milestones
Dim M1 As Variant
M1 = Sheets("Monthly Status").Range("G23")
M13 = Sheets("Monthly Status").Range("G35")
M14 = Sheets("Monthly Status").Range("G36")
M15 = Sheets("Monthly Status").Range("G37")
M16 = Sheets("Monthly Status").Range("G38")
M17 = Sheets("Monthly Status").Range("G39")
M24 = Sheets("Monthly Status").Range("G46")
M25 = Sheets("Monthly Status").Range("G47")
M26 = Sheets("Monthly Status").Range("G48")
M37 = Sheets("Monthly Status").Range("G59")
'Populate OP drop down
With Me.ComboBox2
.AddItem M1
.AddItem M13
.AddItem M14
.AddItem M15
.AddItem M16
.AddItem M17
.AddItem M24
.AddItem M25
.AddItem M26
.AddItem M37
End With
End Sub
Private Sub Submit_Click()
'======================================================Filling Header Feilds From User Form==========================================================
Dim OEM As String
Dim Var As String
Dim Year As String
Dim Veh As String
Dim VehC As String
Dim DRE As String
Dim ID As String
Dim Unit As String
Dim AAE As String
Dim DTE As String
Dim Stage As String
'Fill OEM box
OEM = ComboBox1.value
Sheets("Monthly Status").Range("E7:G7") = OEM
'Fill Variant(s) box
Var = TextBox2.value
Sheets("Monthly Status").Range("E8:G8") = Var
'Fill Model / Launch Year
Year = TextBox3.value
Sheets("Monthly Status").Range("I7") = Year
'Fill Vehicle(s) Box
Veh = TextBox4.value
Sheets("Monthly Status").Range("I8:L8") = Veh
'Fill Vehicle Code(s) Box
VehC = TextBox5.value
Sheets("Monthly Status").Range("L7:O7") = VehC
'Fill Acoustics DRE Box
DRE = TextBox6.value
Sheets("Monthly Status").Range("R7:S7") = DRE
'Fill Program ID Box
ID = TextBox7.value
Sheets("Monthly Status").Range("R8:S8") = ID
'Fill Reporting Region/Business Unit
Unit = TextBox8.value
Sheets("Monthly Status").Range("R12") = Unit
'Fill Assigned AAE
AAE = TextBox9.value
Sheets("Monthly Status").Range("R13") = AAE
'Fill Assigned DTE
DTE = TextBox10.value
Sheets("Monthly Status").Range("R14") = DTE
'Full Current TenPLUS Program Stage
Stage = ComboBox4.value
Sheets("Monthly Status").Range("R16") = Stage
End Sub