У меня есть пользовательская форма с некоторыми входными данными, некоторые из которых должны быть заполнены автоматически (например, идентификационный номер), когда пользователь входит в Excel, или должны быть повторно заполнены, когда пользователь добавляет новости, однако выдает ошибку, когдаподсчет количества строк в таблице при открытии книги.
Ошибка времени выполнения '91': переменная объекта или переменная блока не установлена
В начале у меня был весь код, показывающийздесь, в событии Initialize, но при более внимательном чтении документации (https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/initialize-event) имеет смысл не работать так, потому что таблица еще не открыта, поэтому я переместил код в событие Activate,но это дает точно такую же ошибку. Я снова переместил весь код обратно в событие Initialize, и, поскольку я не могу ничего найти в этом конкретном случае, я спрашиваю здесь об этом.
´Workbook code part
Private Sub Workbook_Open()
Form_Queimas.Show (vbModeless)
End Sub
´UserForm code part
Private Sub UserForm_Initialize()
Dim ws As Worksheet
Dim tbl As ListObject
Set ws = Worksheets("Dados")
Set tbl = ws.ListObjects("TabelaDados")
Me.Input_ID.Value = tbl.DataBodyRange.Rows.Count + 1
Me.Input_Hora_inicial.Value = Format(Now(), "hh:mm")
Me.Input_Freguesia.AddItem "Buarcos e São Julião"
Me.Input_Freguesia.AddItem "Paião"
Me.Input_Freguesia.AddItem "Marinha das Ondas"
Me.Input_Freguesia.AddItem "Ferreira A Nova"
Me.Input_Freguesia.AddItem "Vila Verde"
Me.Input_Freguesia.AddItem "Quiaios"
End Sub
Идея состояла в том, чтобы автоматически заполнить ввод с отключенной таблицейномер последней строки
Заранее спасибо