#excel #vba
Вопрос:
У меня есть таблица SOGP1
, в которой есть столбец ShotNo
, который нужно увеличивать на единицу каждый раз, когда я нажимаю в любой ячейке в первых 37 столбцах
Шаг 1 — щелкните где — нибудь Шаг 2 — Найдите столбец максимального значения ShotNo
в таблице SOGP1
, увеличьте его на 1, сохраните это значение в активной ячейке шаг 3-Добавьте новую строку в таблицу SOGP1 и добавьте следующее значение в ShotNo
столбец
Поэтому, если максимальное значение равно 2, я вставлю 3 в ячейку, которую я щелкну, и я также добавлю строку в таблицу, а в ShotNo
столбец вставлю значение 3.
Это то, что у меня есть до сих пор:
Dim lstObj1 As ListObject
Set lstObj1 = Worksheets("Sheet 1").ListObjects("SOGP1")
ActiveCell.Value = WorksheetFunction.Max(lstObj1.ListColumns("ShotNo").Range) 1
Я получаю subscript - out of range
сообщение об ошибке
Заранее спасибо
Комментарии:
1. Какая строка выдает ошибку?
2. строка ActiveCell.Value
3. Это означает, что в таблице нет столбца с заголовком
"ShotNo"
.4. Sub p1sh () ‘Макрос p1sh’ Сочетание клавиш: Ctrl q ‘ Dim lstObj1 Как набор объектов списка lstOjb1 = Рабочие листы(«Лист 1»).Объекты списка(«SOGP1») ActiveCell.Значение = Функция рабочего листа. Макс(lstObj1.ListColumns(«ShotNo»). Диапазон) 1 Конечная субмарина Может ли это быть что-то другое? Ii вырезал и вставил название таблицы и столбцы
5. Это означает, что
ActiveWorkbook
в нем нет листа с именем «Лист1», или лист с именем «Лист1» не содержит таблицы с именем «SOGP1», или и то, и другое.