Страницы: 1
RSS
Запись ячеек через Userform
 

ДОбрый день.
Нашел макрос для userform по записи ячеек и поиск их.
Но хочу исправить одну вещь, хочу чтобы запись происходила в конец старницы.
Сейчас идет запись сверху, и он вставляет лишние строки ((


Код
Private Sub CommandButton1_Click()
If Len(TextBox1.Text) = 0 Or Len(TextBox2.Text) = 0 Then
MsgBox "Заполнены не все поля!", vbCritical
Exit Sub
End If
If IsNumeric(TextBox2.Value) = False Then
MsgBox "В поле Вес должно быть введено числовое значение!", vbCritical
Exit Sub
End If
With Sheets("sheet1")
If .Columns(1).Find(TextBox1.Text, , xlValues, xlWhole) Is Nothing Then
  .Rows("2:2").Insert Shift:=xlDown
     '.Rows("2:2").Insert Shift:=xlDown
  .Cells(2, 1) = TextBox1.Value
  .Cells(2, 2) = TextBox2.Value
  Else
  MsgBox ("Уже есть"), vbCritical, "Сообщение": Exit Sub
  End If
End With
Unload Me
MsgBox "Успешно добавлено!", vbInformation
End Sub



 
Код
If .Columns(1).Find(TextBox1.Text, , xlValues, xlWhole) Is Nothing Then
'  .Rows("2:2").Insert Shift:=xlDown
  r = .Cells(Rows.Count, 1).End(xlUp).Row

 '.Rows("2:2").Insert Shift:=xlDown
'  .Cells(2, 1) = TextBox1.Value
'  .Cells(2, 2) = TextBox2.Value
  .Cells(r + 1, 1) = TextBox1.Value
  .Cells(r + 1, 2) = TextBox2.Value
  Else
 
Попробуйте так:
Код
Private Sub CommandButton1_Click()
Dim FreeRow As Long
    If Len(TextBox1.Text) = 0 Or Len(TextBox2.Text) = 0 Then
        MsgBox "Заполнены не все поля!", vbCritical
        Exit Sub
    End If
    If IsNumeric(TextBox2.Value) = False Then
        MsgBox "В поле Вес должно быть введено числовое значение!", vbCritical
        Exit Sub
    End If
    With Sheets("sheet1")
    If .Columns(1).Find(TextBox1.Text, , xlValues, xlWhole) Is Nothing Then
        FreeRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
'      .Rows("2:2").Insert Shift:=xlDown
     '.Rows("2:2").Insert Shift:=xlDown
        .Cells(FreeRow, 1) = TextBox1.Value
        .Cells(FreeRow, 2) = TextBox2.Value
        MsgBox "Успешно добавлено!", vbInformation
    Else
        MsgBox ("Уже есть"), vbCritical, "Сообщение": Exit Sub
    End If
    End With
    Unload Me
End Sub

У Вас сообщение "Успешно добавлено!" выводилось в любом случае ))
И не забывайте про форматирование - отступы: гораздо легче при чтении и отладке.
Страницы: 1
Наверх