sheets ( Наявні товари ). Cells (K , 1) .Text lt; gt; Sheets ( Наявні товари ). Cells (K, 2) .Text=Sheets ( Ліст3 ). Cells (2, 2) .Text Then Sheets ( Наявні товари ). Cells ( K, 1) .Value=Sheets ( Ліст3 ). Cells (3, 1) .ValueSheets ( Наявні товари ). Cells (K, 2) .Text=Sheets ( Ліст3 ). Cells ( 2, 2) .Text Then Sheets ( Наявні товари ). Cells (K, 2) .Value=Sheets ( Ліст3 ). Cells (3, 2) .ValueSheets ( Наявні товари ). Cells (K, 2) .Text=Sheets ( Ліст3 ). Cells (2, 2) .Text Then Sheets ( Наявні товари ). Cells (K, 3) .Value=Sheets ( Ліст3 ).Cells (3, 3) .ValueSheets ( Наявні товари ). Cells (K, 2) .Text=Sheets ( Ліст3 ). Cells (2, 2) .Text Then Sheets ( Наявні товари ) .Cells (K, 4) .Value=Sheets ( Ліст3 ). Cells (3, 4) .ValueSheets ( Наявні товари ). Cells (K, 2) .Text=Sheets ( Ліст3 ) .Cells (2, 2) .Text Then Sheets ( Наявні товари ). Cells (K, 5) .Value=Sheets ( Ліст3 ). Cells (3, 5) .ValueSheets ( Наявні товари raquo ;). Cells (K, 2) .Text=Sheets ( Ліст3 ). Cells (2, 2) .Text Then Sheets ( Наявні товари ). Cells (K, 6) .Value=Sheets ( laquo ; Ліст3 ). Cells (3, 6) .ValueSheets ( Наявні товари ). Cells (K, 2) .Text=Sheets ( Ліст3 ). Cells (2, 2) .Text Then Sheets ( laquo ; Наявні товари ). Cells (K, 7) .Value=Sheets ( Ліст3 ). Cells (3, 7) .Value=K + 1.Hide.Hide.ShowSub
Рис. 11.
Потім з'являється вікно Вікно повідомлень raquo ;, яке не несе на собі ніяких алгоритмів для користувача, а необхідно як проміжна форма між завантаженням і вивантаженням основних форм.
Алгоритм даної кнопки в конструкції VBA:
Private Sub UserForm_Activate (). Hide.ShowSub
2.4 Алгоритми видалення даних
Кнопка видалити рядок (Мал. 4.) видаляє рядок з Listbox (I_tovar). Алгоритм роботи даної кнопки в конструкції VBA:
Private Sub Cmb_Delete_item_Click () i As Integer, r As Integer, j As Integer, a As Integer, b As Rangeimya As Integer, shR As Variant ( Наявні товари ). Activate
знаходження виденной рядки=32001 початок по строкамi=0 To Me.I_tovar.ListCount - 1Me.I_tovar.Selected (i) Thenj=0 To Me.I_tovar.ColumnCount - 1 ( Наявні товари ). Cells (r, j + 1)=Me. I_tovar.List (i, j)=r + 1If
'Вилучення строкіimya=1 To 32000Cells (32001, 1)=Cells (imya, 1) Then ( Наявні товари ). Range (Cells (imya, 1), Cells (imya, 7 )). Select.ClearContentsMsgBox ( рядок успішно видалена. raquo ;, vbInformation, Вікно повідомлень ) SubIf
сортуємо змінену БДshR=ThisWorkbook.Worksheets ( Наявні товари ). Range ( A1 ). Activate шапка таблиці=32000b=Range (shR.Cells (1, 1 ), shR.Cells (a, 7)). Sort key1:=b.Cells (2, 1), key2:=b.Cells (2, 2), key3:=b.Cells (2, 3), Header :=xlYesSub
Кнопка Видалити всі (Ріс4.) Видаляє всі дані з Listbox (I_tovar) і робить його порожнім. Алгоритм роботи даної кнопки в конструкції VBA:
Private Sub Cmb_Clear_Click ()
Dim i As Rangea As Byte=MsgBox ( БД буде безповоротно удалена.Ви впевнені? raquo ;, vbYesNo, Вікно повідомлень ) a=6 Then ( Наявні товари ). Activatei=Range (Cells (2, 1), Cells (32000, 7)). ClearMsgBox ( БД успішно видалена. raquo ;, vbInformation, Вікно повідомлень ) IfSub
2.5 Алгоритми сортування даних
Рис. 12.
У користувальницької формі Наявні товари можливі сортування за 2 м значенням: за назвою і за ціною. Вони приховані в лейблах з відповідними назвами і позначені іншим кольором. Крім того при наведенні на них курсору з'являється розпізнавальна напис.
Алгоритм роботи даних лейблів в конструкції VBA відповідно:
Private Sub Label2_Click ()
включаємо функцію сортування перед зміною форми ( Наявні товари ). Activatei As ByteshR As VariantshR=ThisWorkbook.Worksheets ( Наявні товари ). Range ( A1 ). Activate шапка таблиці=255r As Range 'діапазон комірок таблиці з шапкойr=Range (shR.Cells (1, 1), shR.Cells (i, 7)). Sort key1:=r.Cells (2, 1), Header :=xlYes.Hide.Show
End SubSub Label2_MouseMove (ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Label9.Visible=TrueSub
І
Sub Label5_Click ()
сортуємо за ціною ( Наявні товари ). Activatei As LongshR As VariantshR=ThisWorkbook.Worksheets ( Наявні товари ). Range ( D1 ). Activate шапка таблиці=32000r As Range 'діапазон комірок таблиці з шапкойr=Range (shR.Cells (1, 1), shR.Cells (i, 7)). Sort key1:=r.Cells (2, 4), Header:=xlYes.Hide.ShowSub