vba Значения вставки Excel: автоматический: ошибка 1004 руководство: ОК

странная проблема: я прочитал некоторые значения из листа с петлей и вставлю их на другой лист.

У меня есть модуль управления, который вызывает один модуль после другого.

Моя проблема: если я выполняю вызов через модуль управления, я запускаю ошибку 1004 времени выполнения.

Когда я запускаю макрос вручную, это не проблема, и все работает отлично.

Это мой код:

[...] rngname = 3 temp = 1 Do Until Cells(lngRow, 1).Value = "test" lngLastRowOfSection = Cells(lngRow, 1).End(xlDown).Row Set slcFind = Range(Cells(lngRow, 1), Cells(lngLastRowOfSection, 1)) slcFind.Copy Set targetRange = Worksheets("Node Canister VPD").Cells(1, 1) targetRange.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True lngRow = Cells(lngLastRowOfSection, 1).End(xlDown).Row If lngRow >= Rows.Count Then Exit Do Loop lngRow = 1 rngname = 3 i = 2 Do Until Cells(lngRow, 1).Value = "test" lngLastRowOfSection = Cells(lngRow, 1).End(xlDown).Row Set slcFind = Range(Cells(lngRow, 2), Cells(lngLastRowOfSection, 2)) slcFind.Copy Set targetRange = Worksheets("Node Canister VPD").Cells(i, 1) targetRange.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True lngRow = Cells(lngLastRowOfSection, 1).End(xlDown).Row If lngRow >= Rows.Count Then Exit Do i = i + 1 Loop [...] 

У кого-нибудь есть идея? Эта часть кода отмечена:

 targetRange.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True 

С наилучшими пожеланиями, Калейн

Скотт Холцман прав, определите свой рабочий лист при настройке диапазонов. Я смог воссоздать ошибку, имея 1 лист с достоверными данными, лист для вставки и еще один полностью чистый лист. Когда я запускал макрос из допустимого листа, все было нормально, когда я запускал его с включенным чистым листом, он пытается переставить пустой столбец в строку. В листе Excel больше столбцов, чем строк, поэтому он выходит из строя, потому что он не подходит.

Попытайтесь использовать это, измените «Первый» на то, что вы вызываете на свой исходный лист.

 Sub test() Dim Other As New Worksheet Set Other = Worksheets("First") lngrow = 1 rngname = 3 temp = 1 Do Until other.Cells(lngrow, 1).Value = "test" lngLastRowOfSection = Other.Cells(lngrow, 1).End(xlDown).Row Set slcFind = Range(Other.Cells(lngrow, 1), Other.Cells(lngLastRowOfSection, 1)) slcFind.Copy Set targetRange = Worksheets("Node Canister VPD").Cells(1, 1) targetRange.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True lngrow = Other.Cells(lngLastRowOfSection, 1).End(xlDown).Row If lngrow >= Rows.Count Then Exit Do Loop lngrow = 1 rngname = 3 i = 2 Do Until Other.Cells(lngrow, 1).Value = "test" lngLastRowOfSection = Other.Cells(lngrow, 1).End(xlDown).Row Set slcFind = Range(Other.Cells(lngrow, 2), Other.Cells(lngLastRowOfSection, 2)) slcFind.Copy Set targetRange = Worksheets("Node Canister VPD").Cells(i, 1) targetRange.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True lngrow = Other.Cells(lngLastRowOfSection, 1).End(xlDown).Row If lngrow >= Rows.Count Then Exit Do i = i + 1 Loop End Sub 
  • Попытка создать петлю, которая начнется и закончится на конкретных листах
  • Итерация по страницам веб-интерфейса с помощью Power Query
  • Программирование нескольких .FindNext в VBA
  • VBA Применение кода для нескольких местоположений
  • изменение имени в качестве активного листа для участка VBA
  • VBA: команда Loop solver с ячейками «ByChange», меняющимися с каждым циклом
  • Как создать формулу цикла или суммы в Microsoft Excel?
  • openpyxl - Итерация по столбцам и строкам для захвата данных из середины листа
  • VBA: Прокрутите критерии в фильтре Excel?
  • обновить файл Excel с помощью цикла
  • Найти два столбца в таблице, используя указанные заголовки, разделить все строки, а затем рассчитать средний?
  • Interesting Posts

    Удалять дубликаты по строкам на основе определенных столбцов

    Excel If, If После этого оператор ячейки цвета

    Программа для превращения списка с определенными атрибутами в формат таблицы

    Экспортировать план тестирования HP ALM в файл excel

    Копировать диапазон из столбца A и записать в столбец B

    Обновить ссылку на график при добавлении столбцов

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

    Сумма только значений, которые падают с понедельника по пятницу

    Как добавить многомерный массив (AoA) в Excel с помощью Perl?

    Как заменить | символ в ячейке с CHAR (10) в Excel

    IF Statement, изменяющий формат неправильного не численного значения в VBA

    Если ячейка начинается с__extract первых трех символов. Если он начинается с __ только извлечения 2

    Валюта в CSV форматируется как Date в Excel

    Моя пользовательская функция VBA обновляет все ячейки, используя ее с тем же, я тоже не хочу

    Excel, IF Больше, чем функция, время и дата

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