Я пытаюсь выполнить простые данные, введенные в два текстовых поля в пользовательской форме, а затем добавить эти данные в таблицу с именем «AvantAct». Я хочу, чтобы данные вводились в первую пустую строку в таблице каждый раз, когда выполняется пользовательская форма. Интересно, что в первый раз, когда я это сделал, он работал безупречно. Однако после выхода из книги, а затем, возвращаясь к ней позже, я, похоже, получаю: -Ошибка времени выполнения '91' При добавлении данных пользовательской формы в таблицу
Ошибка времени выполнения '91': переменная объекта или с переменной блока не установлена.
Когда я отладка следующая строка подсвечиваются:
tbl.DataBodyRange(lrow2, 1). Value = Me.TxtDate.Value
Я хотел бы добавить, что моя таблица в настоящее время является пустым (только что установлен) стол. Он имеет 8 столбцов (с заголовками), одну пустую строку (от вставки) и общую строку.
Любые предложения?
Private Sub SubmitButton_Click()
Dim ws As Worksheet
Dim tbl As ListObject
Dim TxtDate As Date
Dim TxtPmt As Currency
Dim col As Integer
Dim lrow As Range
Dim lrow2 As Long
Set ws = ActiveWorkbook.Worksheets("Avant")
Set tbl = ws.ListObjects.Item("AvantAct")
If tbl.ListRows.Count > 0 Then
Set lrow = tbl.ListRows(tbl.ListRows.Count).Range
For col = 1 To lrow.Columns.Count
If Trim(CStr(lrow.Cells(1, col).Value)) <> "" Then
tbl.ListRows.Add
Exit For
End If
Next col
End If
lrow2 = tbl.ListRows.Count
tbl.DataBodyRange(lrow2, 1).Value = Me.TxtDate.Value
tbl.DataBodyRange(lrow2, 3).Value = Me.TxtPmt.Value
Unload Me
End Sub
Есть ли еще кода, которого нет здесь? Это работает для меня, разница заключается в том, что у меня не было 'Me.TxtDate.Value', когда он останавливается там, отображаются ли текущие окна в ближайшее окно? '? Me.TxtDate.Value' –
Единственным другим кодом является установка значения по умолчанию и фокуса для txtboxes. И нет, это не показывает значение – Aaron
Можете ли вы показать код, который у вас есть? – Aaron