, j As Integer, s As String, a ()
показуємо що необхідно змінити виділену рядок
a=ListBox1.List: i=ListBox1.ListIndex
кількість стовпців в виділеному рядку і кількість запитів, кінцеве число ставиться на 1 менше реальної кількості.
For j=0 To 4
s=InputBox ( Стовпець amp; j + 1, Введіть нові дані raquo ;, a (i, j))
Sheets ( Викладачі ). Cells (i + 2, j + 1)=s
Next=Sheets ( Викладачі ). UsedRange.Rows.Count.RowSource= A2: H + Trim (Str (i))
End Sub
По черзі на екран виводяться запити зі зміною запису в таблиці в порядку заповнення. Оновлення відбувається після закриття останнього вікна.
Кнопка «Відправити у відрядження»
Кнопка виводить на екран форму для заповнення:
Private Sub CommandButton5_Click () UserForm3
наступний рядок додає ім'я виділеного рядка у форму відправки, в слідстві чого форма даних на дану людину заповнюється автоматично
UserForm3.TextBox1.Text=UserForm4.ComboBox1.Text.Show
End Sub
У даній формі ми заповнюємо дані для складання документа про відправку людини у відрядження.
Код форми:
Заповнення двох відкриваються списків відбувається за допомогою коду:
Private Sub UserForm_Initialize ()
заповнення ComboBox1=2Until Sheets ( Викладачі ). Cells (i, 1)=Empty.AddItem Sheets ( Викладачі ). Cells (i, 1)=i + 1
заповнення ComboBox2=2Until Sheets ( Місця відряджень ). Cells (i, 1)=Empty.AddItem Sheets ( Місця відряджень ). Cells (i, 1)
i=i + 1Sub
Для прискорення процесу заповнення при виборі викладача його дані автоматично заповнюють відповідні текстові поля.
Для цього використовується наступний код:
Private Sub ComboBox1_Click () Combo Box1.Text=Sheets ( Викладачі ). Cells (ComboBox1.ListIndex + 2, 1) Then=Sheets ( Викладачі ). Cells (ComboBox1.ListIndex + 2, 4) IfCombo Box1.Text=Sheets ( Викладачі ). Cells (ComboBox1.ListIndex + 2, 1) Then=Sheets ( Викладачі ). Cells (ComboBox1.ListIndex + 2, 3) IfCombo Box1.Text=Sheets ( Викладачі ). Cells (ComboBox1.ListIndex + 2, 1) Then=Sheets ( Викладачі ). Cells (ComboBox1.ListIndex + 2, 2) IfComboBox1.Text=Sheets ( Викладачі ). Cells (ComboBox1.ListIndex + 2, 1) Then=Sheets ( Викладачі ). Cells (ComboBox1.ListIndex + 2, 5)
End IfSub
Текстові поля з вибором дати пов'язані з формами на яких знаходиться календарі. При натисканні на них користувачеві буде виводиться зручний календар. Після вибору дати вона автоматично буде поміщена в текстове поле з вказаному форматі.
Для виведення календаря цим текстових полів привласнений наступний код
Private Sub TextBox6_Enter (). ShowSubSub TextBox7_Enter () 9.ShowSub
А кожному календарем привласнений такий код
наступний код дозволяє додати в текстове поле дату при подвійному клацанні і закрити форму
Private Sub Calendar1_DblClick (). TextBox6.Value=Format (Calendar1.Value, dd.mm.yyyy ) UserForm8SubSub Calendar2_DblClick (). TextBox7.Value=Format (Calendar2.Value, dd.mm.yyyy ) UserForm9Sub
Тобто якщо вибрана перша осередок якийсь рядки, то в кожне з текстових полів заповнюється відповідними даними цього ж рядка.
Вибираючи місто користувачеві відкриється список всіх міст Росії. Це поле можна змінювати.
Код кнопки «Відправити»
Private Sub CommandButton3_Click ()
Sheets ( Відрядження ). Selecti As Integer=Sheets ( Відрядження ). UsedRange.Rows.Count + 1
дані з текстових полів переносяться у відповідні комірки першого порожнього рядка робочого аркуша
Sheets ( Відрядження ). Cells (i, 1)=ComboBox1.Value ( Відрядження ). Cells (i, 2)=TextBox11.Value ( Відрядження raquo ;). Cells (i, 3)=ComboBox2.Value ( Відрядження ). Cells (i, 4)=TextBox12.Value ( Відрядження ). Cells (i, 5)=TextBox7.Value ( Відрядження ). Cells (i, 6)=TextBox6.Value ( Відрядження ). Cells (i, 7)=TextBox2.Value ( Відрядження ). Cells (i, 8)= TextBox11.Value ( В...