5)=Cells (i, 6) (ListBox1.ListCount -1, 6)=Cells (i, 7)
End IfWithSub
Кнопка Назад виходить на попередню налаштовувану форму. Алгоритм роботи кнопки Назад в конструкції VBA:
Sub Cmb_Nazad_Click (). Hide.ShowSub
Кнопка Вихід виходить на попередню налаштовувану форму. Алгоритм роботи кнопки Вихід в конструкції VBA:
Sub Cmb_End_Click () Sub
Кнопка Додати до продажу копіює виділені в ListBox1 рядки і додає їх в нову таблицю 2, після чого переходить до користувальницького вікна Вказати кількість .
Sub Cmb_Add_Items_Click ()
Ліст2.Activate
Ліст2.Range (Cells (2, 1), Cells (32000, 7)). Select.ClearContents
створюємо новий список із даної табліциi As Integer, r As Integer, j As Integer=2 початок по строкамi=0 To Me.ListBox1.ListCount - 1Me.ListBox1.Selected (i) Thenj=0 To Me.ListBox1.ColumnCount - 1 ( Аркуш2 ). Cells (r, j + 1)=Me.ListBox1.List (i, j)=r + 1If.Hide.ShowSub
Рис. 7.
користувача вікно Вказати кількість Має 7 пасивних текстових полів, які можна змінювати, і одне активне, в якому необхідно вказувати кількість товарів, необхідне для продажі.Также воно має 3 кнопки:
Далі raquo ;, Назад і Вихід .
Методом Activate форма заповнює пасивні поля.. Алгоритм в конструкції VBA:
Sub UserForm_Activate ()
'задаємо значення i і вписуємо в поля початкову рядок для доступу даних до кнопки CommandButton1
Ліст2.Activate=2UF3Sheets ( Аркуш2 ). Cells (2, 1) lt; gt; Then.Text=Sheets ( Аркуш2 ). Cells (2, 1) .Text=Sheets ( Аркуш2 ). Cells (2, 2) .Text=Sheets ( Аркуш2 ). Cells (2, 3) .Text=Sheets ( Аркуш2 ). Cells (2, 4) .Text=Sheets ( Аркуш2 ). Cells (2, 5) .Text=Sheets ( Аркуш2 ). Cells (2 , 6) .Text=Sheets ( Аркуш2 ). Cells (2, 7): MsgBox ( немає даних ). Hide.ShowSubIfWithSub
Також методом Initialize пасивні текстові поля поля блокуються для введення, а так само активному текстовому полю задається нульове значення. Алгоритм в конструкції VBA:
. Value=0
'робимо неможливим зміну полей.Enabled=False.Enabled=False.Enabled=False.Enabled=False.Enabled=False.Enabled=False.Enabled=False
Кнопкою Далі вказане для продажу кількість товарів вичітаетя із загальної кількості наявних товарів, і результат відображається у первісній таблице1, а також останнім натисканням відкривається аользовательская форма Бланк друку товарів, готових до продажу , в яку завантажуються дані про продовать товарах. Алгоритм даної кнопки в конструкції VBA:
Sub Cmb_Next_Click () Cells (i + 1, 1) lt; gt; ThenTextBox4=Empty Or Val (TextBox4.Value) gt; Val (TextBox3.Value) Then ( не всі поля заповнені або кількість більше наявного ) Sub=2Sheets ( Наявні товари ). Cells (K, 1) .Text lt; gt; Sheets ( Наявні товари ). Cells (K, 2) .Text=TextBox2.Text Then Sheets ( Наявні товари ). Cells (K, 3)=Sheets ( Наявні товари ).Cells (K, 3) - TextBox4.Value=K + 1
'Sheets ( Наявні товари ). Cells (2, 3)=Sheets ( Наявні товари ). Cells (2, 3) - TextBox4.Value
'якщо подальша осередок не дорівнює нулю, заповнюємо рядок і збільшуємо на 1 лічильник
'якщо ні, заповнюємо рядок і відкриваємо форму Userform7 ( Аркуш2 ). Cells (i, 3)=TextBox4.ValueSheets ( Аркуш2 ). Cells (i, 1) lt; gt; Then.TextBox1.Text=Sheets ( Аркуш2 ). Cells (i + 1, 1) .TextBox2.Text=Sheets ( Аркуш2 ). Cells (i + 1, 2) .TextBox3.Text=Sheets ( Аркуш2 ). Cells (i + 1, 3) .TextBox5.Text=Sheets ( Аркуш2 ). Cells (i + 1, 4) .TextBox6.Text=Sheets ( Аркуш2 ). Cells ( i + 1, 5) .TextBox7.Text=Sheets ( Аркуш2 ). Cells (i + 1, 6) .TextBox8.Text=Sheets ( Аркуш2 ). Cells (i + 1, 7) IfIf= i + 1=1TextBox4=Empty Or Val (TextBox4.Value) gt; Val (TextBox3.Value) Then ( не всі поля заповнені або кількість більше наявного ) Sub=2Sheets ( Наявні товари ). Cells (K, 1) .Text lt; gt; Sheets ( Наявні товари ). Cells (K, 2) .Text=TextBox2.Text Then Sheets ( Наявні товари ). Cells (K, 3)=Sheets ( Наявні товари ).Cells (K, 3) - TextBox4.Value=K + 1 ( Аркуш2 ). Cells (i, 3)=TextBox4.ValueSheets ( Аркуш2 ). Cells (i, 1) lt; gt; Then.TextBox1.Text=Sheets ( Аркуш2 ). Cells (i + 1, 1) .TextBox2.Text=Sheets ( Аркуш2 ). Cells (i + 1, 2) .TextBox3.Text=Sheets ( Аркуш2 ). Cells (i + 1, 3) .TextBox5.Text=Sheets ( Аркуш2 ). Cells (i + 1, 4) .TextBox6.Text=Sheets ( Аркуш2 ). Cells ( i + 1, 5) .TextBox7.Text=Sheets ( Аркуш2 ). Cells (i + 1, 6) .TextBox8.Text=Sheets...