Алгоритмы добавления данных
Добавление в таблицы происходит с помощью специальных форм, которые содержат поля предназначенные для ввода в них соответствующей информации. После ввода необходимо нажать на одну из кнопок (с января по декабрь), запуститься процедура, которая вносит в таблицу данные из полей формы. Данные процедуры работают на основе оператора If..Then. Рассмотрим код для кнопки «Январь»: Private Sub CommandButton5_Click() If TextBox6.Text = 1 Then Лист5.Activate i = 3 Do i = i + 1 If Cells(i, 1) = TextBox1.Text Then i = i - 2 Cells(i + 2, 1) = TextBox1.Text Cells(i + 2, 11) = TextBox2.Text Cells(i + 2, 20) = TextBox3.Text Cells(i + 2, 23) = TextBox4.Text Cells(i + 2, 29) = TextBox5.Text Cells(i + 2, 31) = TextBox6.Text Cells(i + 2, 27) = Cells(i + 2, 29) Cells(i + 2, 24) = Cells(i + 2, 28) * Cells(i + 2, 29) Cells(i + 2, 7) = Cells(i + 2, 6) * Cells(i + 2, 4) Cells(i + 2, 9) = Cells(i + 2, 8) * Cells(i + 2, 4) Cells(i + 2, 10) = (Cells(i + 2, 8) * Cells(i + 2, 5)) / Cells(i + 2, 3) Cells(i + 2, 12) = Cells(i + 2, 11) * Cells(i + 2, 40) Cells(i + 2, 13) = (Cells(i + 2, 11) * Cells(i + 2, 5)) / Cells(i + 2, 3) Cells(i + 2, 15) = Cells(i + 2, 13) * Cells(i + 2, 4) Cells(i + 2, 16) = (Cells(i + 2, 14) * Cells(i + 2, 5)) / Cells(i + 2, 3) Cells(i + 2, 17) = Cells(i + 2, 11) - (Cells(i + 2, 20) + Cells(i + 2, 23)) Cells(i + 2, 18) = Cells(i + 2, 17) * Cells(i + 2, 4) Cells(i + 2, 19) = (Cells(i + 2, 17) * Cells(i + 2, 5)) / Cells(i + 2, 3) Cells(i + 2, 21) = Cells(i + 2, 20) * Cells(i + 2, 4) Cells(i + 2, 21) = (Cells(i + 2, 20) * Cells(i + 2, 5)) / Cells(i + 2, 3) Cells(i + 2, 24) = Cells(i + 2, 23) * Cells(i + 2, 4) Cells(i + 2, 26) = Cells(i + 2, 25) * Cells(i + 2, 4) Cells(i + 2, 30) = Cells(i + 2, 29) * Cells(i + 2, 4) i = i + 2 a = 1 End If Loop Until Cells(i, 2) = Empty If a <> 1 Then i = i - 2 Cells(i + 2, 1) = TextBox1.Text Cells(i + 2, 11) = TextBox2.Text Cells(i + 2, 20) = TextBox3.Text Cells(i + 2, 23) = TextBox4.Text Cells(i + 2, 29) = TextBox5.Text Cells(i + 2, 31) = TextBox6.Text Cells(i + 2, 27) = Cells(i + 2, 29) Cells(i + 2, 24) = Cells(i + 2, 28) * Cells(i + 2, 29) Cells(i + 2, 7) = Cells(i + 2, 6) * Cells(i + 2, 4) Cells(i + 2, 9) = Cells(i + 2, 8) * Cells(i + 2, 4) Cells(i + 2, 10) = (Cells(i + 2, 8) * Cells(i + 2, 5)) / Cells(i + 2, 3) Cells(i + 2, 12) = Cells(i + 2, 11) * Cells(i + 2, 40) Cells(i + 2, 13) = (Cells(i + 2, 11) * Cells(i + 2, 5)) / Cells(i + 2, 3) Cells(i + 2, 15) = Cells(i + 2, 13) * Cells(i + 2, 4) Cells(i + 2, 16) = (Cells(i + 2, 14) * Cells(i + 2, 5)) / Cells(i + 2, 3) Cells(i + 2, 17) = Cells(i + 2, 11) - (Cells(i + 2, 20) + Cells(i + 2, 23)) Cells(i + 2, 18) = Cells(i + 2, 17) * Cells(i + 2, 4) Cells(i + 2, 19) = (Cells(i + 2, 17) * Cells(i + 2, 5)) / Cells(i + 2, 3) Cells(i + 2, 21) = Cells(i + 2, 20) * Cells(i + 2, 4) Cells(i + 2, 21) = (Cells(i + 2, 20) * Cells(i + 2, 5)) / Cells(i + 2, 3) Cells(i + 2, 24) = Cells(i + 2, 23) * Cells(i + 2, 4) Cells(i + 2, 26) = Cells(i + 2, 25) * Cells(i + 2, 4) Cells(i + 2, 30) = Cells(i + 2, 29) * Cells(i + 2, 4) i = i + 2 a = 1 End If End Sub
Коды для остальных месяцев будут аналогичны коду для кнопки «Январь». Будет лишь меняться строка «If TextBox6.Text = «номер месяца» Then Лист «номер соответствующего листа».Activate» Оператор If…Then проверяет, нет ли такого же ключа в данной таблице (ключ – уникальное значение для строки, которое однозначно определяет строку). Остальные процедуры также используют этот оператор и имеют сходную структуру программы.
|