Я продолжаю работать с ошибкой (что происходит без шаблона или с расчетом). Ошибка возникает, когда я пытаюсь сделать pastespecial (формулы или значения). Мне любопытно, есть ли альтернативный способ вставки значений или формул в VBA, учитывая, что количество строк в массиве является переменной (от 1 до 100). Я приложил фрагмент кода ниже.Ошибка выполнения 1004 «Метод класса диапазона с ошибкой»
«по длине и SELECTIONAREA определяются как строки
Range("P1").Select
» длина формула в ячейке, которая подсчитывает длину таблицы
length = ActiveCell.Value
selectionarea = "B3:CM" + length
Range("B2:CM2").Select
Selection.Copy
Range(selectionarea).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
selectionarea = "C2:O" + length
Range(selectionarea).Select
Selection.Copy
Range("BL3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Каково значение 'length', когда вы получаете ошибку? Вы должны использовать '&' для конкатенации строк в VBA. '+' не рекомендуется. На какой линии это не удается? – Brad
Когда он терпит неудачу (это не каждый раз), он терпит неудачу на пастообразных (либо значениях, либо формулах). – user2263642
и что такое вауа «длины», когда он терпит неудачу? – Brad