таблицу сначала вставляются новые ячейки, при этом существующие
сдвигаются вниз, а затем в эти ячейки заносится информация.
'Модуль UserForm3
Dim n As Integer
Dim RMin As Integer
Dim CMin As Integer, CMax As Integer
Private Sub CommandButton1_Click()
'Добавляем или редактируем запись в элементе ListBox1
If UserForm2.NewI Then
UserForm2.ListBox1.AddItem TextBox1.Text, n
Else
UserForm2.ListBox1.List(n, 0) = TextBox1.Text
End If
UserForm2.ListBox1.List(n, 1) = TextBox2.Text
UserForm2.ListBox1.List(n, 2) = TextBox3.Text
UserForm2.ListBox1.List(n, 3) = TextBox4.Text
'Добавляем или редактируем запись на рабочем листе
If UserForm2.NewI Then
Range(Cells(RMin + n, CMin), _
Cells(RMin + n, CMax)).Insert Shift:=xlDown
End If
Cells(RMin + n, CMin) = TextBox1.Text
Cells(RMin + n, CMin + 1) = TextBox2.Text
Cells(RMin + n, CMin + 2) = TextBox3.Text
Cells(RMin + n, CMin + 3) = TextBox4.Text
UserForm3.Hide
End Sub
Private Sub CommandButton2_Click()
UserForm3.Hide
End Sub
Private Sub UserForm_Activate()
n = UserForm2.ListBox1.ListIndex
If UserForm2.NewI Then
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
Else
TextBox1.Text = Cells(RMin + n, CMin)
83