Ошибка выполнения 1004 «Метод класса диапазона сбой»

Я продолжаю сталкиваться с ошибкой (что происходит без шаблона или с расчетом). Ошибка возникает, когда я пытаюсь сделать pastespecial (формулы или значения). Мне любопытно, есть ли альтернативный способ вставки значений или формул в VBA, учитывая, что количество строк в массиве является переменной (от 1 до 100). Я приложил фрагмент кода ниже.

'и длина, и selectionarea определяются как строки

Range("P1").Select 

'length – это формула в ячейке, которая учитывает длину таблицы

 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 

Попробуйте что-то вроде этого

 Dim rng As Range, Length Length = Range("P1").Value 'EDIT use this for formulas Range("B2:E" & Length).Formula = Range("B2:E2").Formula 'or this should also work 'Range("B2:E" & Length).FillDown Set rng = Range("C2:O" & Length) Range("BL3").Resize(rng.Rows.Count, rng.Columns.Count).Value = rng.Value 

Ошибка: метод «Вставить» объекта «Рабочий стол» не выполнен – ​​1004
Решение: нужно помнить о проблемах в Excel, прежде чем копировать фигуры с одного листа на другой.

  1. Активируйте лист (с которого вы копируете).
  2. Выберите фигуры из листа.
  3. Скопируйте фигуры из листа.
  4. Вставить в форму на целевой лист

Пример: Ранее мой код выглядит следующим образом:

  Sheet1.Shapes(0).Copy Targetsheet.Paste 

Я изменил следующее:

  Sheet1.Activite Sheet1.Shapes(0).Select Sheet1.Shapes(0).Copy Targetsheet.Paste 

Теперь он работает нормально.

Interesting Posts

Графические пустые ячейки в виде пробелов в Excel

Сравнение номеров версий с более чем одной десятичной точкой в ​​Excel VBA

Автосохранение специальной книги

Как изменить цвет шрифта текста в текстовом поле в Excel, используя Python, в win32com.client

Вычислить среднее значение из последних 20 значений, введенных без VBA

Использование макроса для переформатирования сводной таблицы при каждом изменении

Розовый жемчуг не может работать (NameError: uninitialized constant Excel)

Apache POI-SXSSFWorkbook – Блокировка строки от промывки

Проблема с веб-запросом в Excel

Окно слишком узкое – позволяет использовать только один символ в строке

Как вставить твиты в файл excel с помощью приложений Azure Logic

Изменение, пересчет и извлечение результатов из Excel в Python

Функция VBA не выполняется

Вернуть номер строки или true или false или значение, если условие выполнено – VBA Excel

Формула Excel для позиции минимального значения с использованием встроенных вычислений для аргументов

Давайте будем гением компьютера.