Я пытаюсь использовать следующий код для добавления строк в таблицу. Мне нужно, чтобы число строк было динамическим, потому что я добавляю строки из одной таблицы в основную таблицу, а количество строк в дополнительной таблице может варьироваться.
В настоящее время ячейка F2 подсчитывает количество строк в дополнительной таблице, и это должно быть количество строк, которое макрос добавляет в мою основную таблицу. Однако, когда я ссылаюсь на переменную RowNumber , я получаю сообщение об ошибке «Ошибка метода вставки класса диапазона».
Я попытался заменить переменную другими числами, а затем код работает нормально. Однако всякий раз, когда я использую переменную, я получаю сообщение об ошибке.
Ценю любую помощь.
Sub AddRows()
Dim ws As Worksheet
Dim RowNumber As Range
Set ws = ThisWorkbook.ActiveSheet
With ws
Set RowNumber = .Range("F2")
Range("A8").End(xlDown).Select
ActiveCell.EntireRow.Resize(RowNumber.Value).Insert Shift:=xlDown
End With
Range("tblDetail").Select
Range("A10").Activate
Selection.FillDown
End Sub
РЕДАКТИРОВАТЬ: я думаю, что я получаю сообщение об ошибке, потому что у меня есть таблица, которая начинается на три строки ниже моей основной таблицы (это файл импорта для программного обеспечения для онлайн-учета, для которого требуется определенное количество таблиц). Я поиграл со значением в F2: все, что больше, чем «4» в F2, приводит к ошибке 1004 (при условии, что активная ячейка во время выполнения макроса находится в последней строке моей основной таблицы). Все, что меньше 4, и код работает нормально.
Возможно ли использовать переменные с функцией listrows.add
, так как моя главная таблица является объектом списка?