Я написал макрос для копирования и вставки строк или столбцов в разных местах в зависимости от входной строки. Место расположения копий и вставки определяется в поле «Именованные диапазоны» в электронной таблице.Excel VBA Macro - метод копирования класса диапазона не удалось и метод Insert класса класса диапазона не удалось
Если я хочу добавить несколько столбцов в том же разделе, все будет отлично. Если добавить еще один столбец в одной секции, то нужно добавить столбец в другой секции, я получаю один из двух ошибок: метода копирования класса Range неудавшихся ИЛИ Вставить метод класса Range не удался
I убежища не удалось выяснить, почему иногда метод копирования вызывает ошибку, а иногда и нет. Любая помощь будет принята с благодарностью.
Код:
Sheets("TL Master").Range("Insert" & strAddType).Copy
'Offset for row/column
If strRowColumn = "row" Then
'Row = add value above
Range("Insert" & strAddType).Insert Shift:=xlDown
Range("Add" & strAddType & "ButtonCell").Offset(-4, 0).Value = strNewName
Else
'Column = add value left
Sheets("TL Master").Range("Insert" & strAddType).Insert Shift:=xlToRight
Range("Add" & strAddType & "ButtonCell").Offset(0, -4).Value = strNewName
If strAddType = "Machine" Then Range("Add" & strAddType & "ButtonCell").Offset(0, -4).Interior.Color = clrComplexityColor
End If
Или если вы не будете писать имя листа столько раз, сколько можете использовать с инструкцией. Это будет: 'С Sheets ("TL Master")' ' Если ... затем' ' .Range ("вставить" ...) ... '' Else ... '' End Если ... ' ' End With ... ' – Liniel
Я внес изменения, которые вы предложили, и я все равно получаю те же ошибки. Я также периодически получаю новую ошибку. ** Ошибка автоматизации Отключенный объект отключился от своих клиентов. ** – John
Я рассмотрел возможность, которую вы упомянули о склеивании за пределами листа, и мне тоже не повезло. Как я упоминал в своем оригинальном посте, все работает, когда я открываю лист; Я могу добавить строки или столбцы в любом месте. После того, как я добавлю свою первую строку или столбец, я могу продолжить добавление большего количества в тот же раздел электронной таблицы, используя тот же именованный диапазон, но я получаю ошибку, если я попытаюсь добавить в другой раздел. – John