У меня есть два TextBox в моей пользовательской форме. Один для ввода имени, а другой для ввода дохода.
Теперь я создаю немодальную форму пользователя, чтобы пользователь мог продолжать вставлять данные
Предположим, у меня уже есть список имен. Например: жениться, Джейми, Майкл
Можно ли установить этот список в качестве значения по умолчанию для имени TextBox?
Например:
После нажатия кнопки пользовательская форма выскакивает и отображается следующим образом:
Name: Marry
Income: ""
После того, как я введу доход и нажму кнопку «ОК», пользовательская форма снова появится.
На этот раз это выглядит так:
Name: Jamie
Income: ""
Если мой вопрос недостаточно ясен, пожалуйста, скажите мне, и я объясню его более подробно. Заранее спасибо.
Обновление:
Я добавляю свой код сюда, чтобы прояснить свой вопрос. Тем не менее, «история» моего кода немного отличается. Пользователь вставит идентификатор пользователя, значение бюджета и дату в форму пользователя. Затем макрос отфильтрует таблицу в листе "ALL_List".
Исходя из идентификатора и даты портфеля, после фильтрации в этой таблице останется только одна строка данных. Столбец Бюджет для этой строки данных должен быть пустым. Макрос должен автоматически вставить значение бюджета, записанное в пользовательской форме, в столбец бюджета.
Например, есть 5 идентификаторов и 5 бюджетных значений:
Дата / удостоверение личности / бюджет
29/06/2018/12541/336521
29/06/2018/4521/658882
29/06/2018/44359/4587996
29/06/2018/10223/148665
29/06/2018/74/658324
Итак, когда пользователь первый раз всплывает. Я надеюсь, что в TextBox идентификатора портфолио будет значение идентификатора по умолчанию "12541". После того как я введу дату и значение бюджета и нажму кнопку «Ввод», значение бюджета будет вставлено в столбец «Бюджет» на листе «ALL_List». Затем пользовательская форма снова всплывает. На этот раз значение по умолчанию для идентификатора будет 4521.
После того, как появится окончательный идентификатор по умолчанию (74), и я ввожу значение и нажимаю Enter, я надеюсь, что пользовательская форма все еще будет всплывать, и на этот раз значение идентификатора портфолио TextBox будет пустым (поскольку может быть другой идентификатор, который пользователь хочет вставить.)
Надеюсь, мое описание понятно. Если есть какие-либо вопросы, пожалуйста, не стесняйтесь сообщить мне. Большое спасибо!
Sub Budget_Adjustment()
Dim frm As New UserFormBudget
frm.Show vbModeless
End Sub
Private Sub ButtonClose_Click()
Unload Me
End Sub
Private Sub ButtonEnter_Click()
InsertBudget
End Sub
Private Sub InsertBudget()
Dim UpdateDate As String
Dim PortfolioID, Budgetvalue As Long
UpdateDate = TextBoxDate.Value
PortfolioID = TextBoxID.Value
Budgetvalue = TextBoxBedget.Value
UpdateDate = CDate(UpdateDate)
Sheets("ALL_List").Activate
ActiveSheet.AutoFilterMode = False
Range(Cells(1, 1), Cells(Cells(Rows.Count, 7).End(xlUp).row, 7)).AutoFilter Field:=1, Criteria1:=UpdateDate
Range(Cells(1, 1), Cells(Cells(Rows.Count, 7).End(xlUp).row, 7)).AutoFilter Field:=3, Criteria1:=PortfolioID
Cells(Cells(Rows.Count, "A").End(xlUp).row, "F").Value = Budgetvalue
ActiveSheet.AutoFilterMode = False
TextBoxID.Value = ""
TextBoxBedget.Value = ""
TextBoxID.SetFocus
End Sub
Private Sub TextBoxBedget_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
ButtonEnter_Click
End If
End Sub
Private Sub UserForm_Activate()
'Empty TextBoxID
TextBoxID.Value = ""
'Empty TextBoxBedget
TextBoxBedget.Value = ""
'Empty TextBoxDate
TextBoxDate.Value = ""
'Set Focus on NameTextBox
TextBoxDate.SetFocus
End Sub