Как определить последнюю строку в умной таблице Excel - VBA

Узнай цену своей работы

Формулировка задачи:

Добрый день. Работаю над решением такой задачи:
От пользовательской формы не добавляет в умную таблицу Ранее этот код работал, но теперь он не работает

Решение задачи: «Как определить последнюю строку в умной таблице Excel»

textual
Листинг программы
Private Sub CommandButton1_Click()
Dim ws As Worksheet, iCell As Range, iRow&
Set ws = Worksheets("Add")
 
Set iCell = ws.Range("baza_tb").Find("*", , xlFormulas, , , xlPrevious)
If Not iCell Is Nothing Then
   iRow = iCell(2).Row 'iCell.Row + 1
Else
    iRow = ws.Range("baza_tb").Row
End If
 
'copy the data to the database
ws.Cells(iRow, 1).Value = Me.TextBox2.Value
ws.Cells(iRow, 2).Value = Me.Label14.Caption
'ws.Cells(iRow, 3).Value = CStr(Me.TextBox2.Value & Me.Label14.Caption)
ws.Cells(iRow, 4).Value = DateValue(Me.TextBox1.Value)
ws.Cells(iRow, 5).Value = Me.ComboBox1.Value
ws.Cells(iRow, 12).Value = Me.Label12.Caption
ws.Cells(iRow, 13).Value = Val(Year(DateValue(Me.TextBox1.Value)))
ws.Cells(iRow, 14).Value = Val(Month(DateValue(Me.TextBox1.Value)))
ws.Cells(iRow, 15).Value = Val(Day(DateValue(Me.TextBox1.Value)))
If Me.Opnagdi Then
ws.Cells(iRow, 16).Value = ThisWorkbook.Worksheets("siebi").Range("nagdi").Text
End If
 
If Me.Opunagdo Then
ws.Cells(iRow, 16).Value = ThisWorkbook.Worksheets("siebi").Range("unagdi").Text
End If
 
If Me.Opcon Then
ws.Cells(iRow, 16).Value = ThisWorkbook.Worksheets("siebi").Range("konsignacia").Text
 End If
 
ws.Cells(iRow, 17).Value = Me.cbx_cotragerts.Value
 
If Me.cbx_cotragerts.Value = "" Then
'Call Addorganize
ws.Cells(iRow, 17).Value = Me.tbx_kontragets.Value
End If
ws.Cells(iRow, 18).Value = CDbl(Val(Replace(Trim(Me.TextBox63.Value), ",", ".")))
ws.Cells(iRow, 19).Value = CDate(Day(Me.TextBox1.Value) & "." & Month(Me.TextBox1.Value) & "." & Year(Me.TextBox1.Value))
ws.Cells(iRow, 6).Value = Me.ComboBox2.Value
ws.Cells(iRow, 7).Value = Me.TextBox3.Value
ws.Cells(iRow, 8).Value = Me.TextBox4.Value
ws.Cells(iRow, 9).Value = CDbl(Val(Replace(Trim(Me.TextBox5.Value), ",", ".")))
ws.Cells(iRow, 10).Value = CDbl(Val(Replace(Trim(Me.TextBox6.Value), ",", ".")))
ws.Cells(iRow, 11).Value = Me.TextBox7.Value
Call Fillorg
'clear the data
 
Me.TextBox3.BackColor = vbGreen
Me.TextBox4.BackColor = vbGreen
Me.TextBox5.BackColor = vbGreen
Me.TextBox6.BackColor = vbGreen
Me.TextBox7.BackColor = vbGreen
Me.ComboBox2.BackColor = vbGreen
Call ResetCalc
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.143 из 5
Похожие ответы