Top.Mail.Ru
Ответы

Помогите найти ошибку в VBA excel

Private Sub CommandButton1_Click()
Const strNomer = 3 'êîëè÷åñòâî ñòðîê äëÿ çàãîëîâêà
Dim strNamel As String 'ñòðîêà äëÿ àäðåñàöèè ÿ÷ååê
Dim strName2 As String
Dim nomer As Long 'íîìåð î÷åðåäíîé ñòðîêè òàáëèöû
ActiveWorkbook.SaveAs "ðàáîòà ñ áàçîé äàííûõ.xIs"
nomer = 1
End Sub
Private Sub CommandButton2_Click()
strNamel = Trim(Str(strNomer + nomer))
With ActiveSheet 'ââîä äàííûõ äëÿ íîâîé îò÷åòíîé òàáëèöû
Range("A" + strNamel).Value = nomer
Range("B" + strNamel).Value = TextBox1.Text
Range("C" + strNamel).Value = TextBox2.Text
Range("D" + strNamel).Value = TextBox3.Text
'àâòîçàïîëíåíèå ñ òåêóùåé ñòðîêè òàáëèöû
strName2 = Trim(Str(strNomer + nomer + 1))
Set rangel = Range("A" + strNamel + ":D" + strNamel)
Set range2 = .Range("A" + strName2 + ":D" + strName2)
rangel.AutoFill Destination:=range2
Range("A" + strName2 + ":D" + strName2).Clear
End With
' î÷èñòêà ïîëåé ôîðìû äëÿ ââîäà î÷åðåäíîé çàïèñè
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox1.SetFocus
nomer = nomer + 1
End Sub

Private Sub CommandButton3_Click()
'çàêðûòèå ôîðìû ïîäâåäåíèå èòîãîâ è âûâîä ôàìèëèè ïðåïîäàâàòåëÿ
UserForm1.Hide
With ActiveSheet
strName2 = Trim(Str(strNomer + nomer + 2))
Range("A" + strName2).Value = "êëàññíûé ðóêîâîäèòåëü"
Range("D" + strName2).Value = TextBox4.Text
End With
End Sub

По дате
По Рейтингу
Аватар пользователя
Мудрец
1мес

у вас в процедуре CommandButton2_Click есть переменная nomer, которой не присвоено значение. Если значение ей должно присваиваться в процедуре Private Sub CommandButton1_Click(), то нужно объявить эту переменную, как вы сделали с переменной strNomer (только если это текст, он должен в кавычках быть)

Аватар пользователя
Просветленный
1мес

напомню как выглядит и используется конструкция With...

Аватар пользователя
Искусственный Интеллект
1мес

Тут лишняя точка:

1
 Set range2 = .Range("A" + strName2 + ":D" + strName2)