Страницы: 1
RSS
Получение данных умной таблицы в UserForm, Не могу отловить ошибку в одной форме все работает отлично, в другой такая же конструкция не работает.
 
Всех приветствую и в очередной раз прошу помощи у уважаемого сообщества!)
Вопрос не по работе, так сказать, а творческий, но все же, на данном проекте учусь с Userform обращаться.
Это простенький игровой проект, чтобы поддержать интерес к программированию у младшего брата, но столкнулся с ошибкой "451 - объект не является коллекцией", но есть нюанс, как говорится.

Есть следующая конструкция:
Код
Set ws = ThisWorkbook.Sheets("Главы")
    Set listObj_story = ws.ListObjects("story_chapter")
    Set found_value = listObj_story.DataBodyRange.Columns(1).Find(Me.tb_prev_chapt.Value, _
        LookIn:=xlValues, lookat:=xlWhole)
        
    story_text = listObj_story.DataBodyRange.Formula(found_value.row - 1, found_value.Column + 1)
в форме uf_story_telling и она работает прекрасно:
в Find() передается число, соответствующее номеру строки в умной таблице на листе "Главы", found_value возвращает позицию в таблице и с помощью .DataBodyRange.Formula(int, int) я достаю нужные мне данные.

в форме же uf_enemy_char_list схожая конструкция и выдает ошибку при присвоении переменной значения из ячейки умной таблицы, при этом проект проходит компиляцию.

Для того чтобы произвести ошибку нужно на листе "Лист Путешественника" нажать кнопку "Показать меню" -> "Начать новую игру" и в открывшейся форме(как указано на рис.1 ) вбить "5", после этого нажать перейти. В обновившейся форме нажать кнопку "в бой" правая нижняя красная кнопка))) и при инициализации формы uf_enemy_char_list и происходит данная ошибка.

Буду признателен за помощь)

P.S.: А игра классная, я сам в нее в детстве рубился))
 
Здравствуйте. Код поправил ошибка не вылетает.
Может пригодится шпаргалка по ListObjects, как обращаться к объектам:ListObjects(Tables).xlsm (52.83 КБ)
 
Огромное спасибо!
Шпаргалка огонь!!!
Но подскажите, пожалуйста,  почему если такое обращение не корректно, оно сработало при вызове Userform uf_story_telling&
 
Цитата
Станислав Воротынцев написал:
Но подскажите, пожалуйста,  почему если такое обращение не корректно
Не знаю. Все делаю методом тыка, F8, точки останова и.т.д.
 
Хорошо, понял)))
Большое спасибо!))
Страницы: 1
Наверх