1. На форме 4 текст бокса и один комбобокс. Процедура
работает, но не очень нравится, что для комбобокса (контрола, отличного от текстбокcа) код пришлось выносить за цикл, а в цикле вводить условия по i. Можно ли эту процедуру сделать лучше?
2. Хотелось бы дату рождения вводить из календаря, а не вручную забивать в поле ввода. Как это сделать?
3. При вводе в поле ввода "Дата рождения" даже обычных числовых данных они заносятся на лист. Я попробовал сделать проверку:
получаю ошибку "Необходим объект". Как правильно проверить Дату?
Файл прилагаю
Код |
---|
Private Sub CommandButton1_Click() Dim NextRow As Long, NumMax As Long, i As Integer, CurCtrl As Control Sheets("Контакты").Activate NextRow = Application.WorksheetFunction.CountA(Range("A:A")) + 1 Cells(NextRow, 1) = Application.WorksheetFunction.Max(Range("A:A")) + 1 i = 1 For Each CurCtrl In UserForm1.Controls i = i + 1 If i > 5 Then Exit For Cells(NextRow, i) = CurCtrl.Value Next CurCtrl Cells(NextRow, 6) = ComboBox1.SelText End Sub |
2. Хотелось бы дату рождения вводить из календаря, а не вручную забивать в поле ввода. Как это сделать?
3. При вводе в поле ввода "Дата рождения" даже обычных числовых данных они заносятся на лист. Я попробовал сделать проверку:
Код |
---|
Private Sub TextBox4_Change() If Not TextBox4.Value.IsDate Then MsgBox "Ошибка" End If End Sub |
Файл прилагаю