«Ошибка времени выполнения 9» при копировании строк с одного листа на другой

Используя Excel 2007 и попытайтесь объединить VBA, который скопирует строки из листа, называемого Forecasts, в различные существующие листы, где имя листа совпадает с значением A2: A в листе Прогноза.

Когда я запускаю ниже, я получаю ошибку времени выполнения 9, а режим отладки выделяет следующую строку

Set objNewSheet = ThisWorkbook.Worksheets("Sheet" & rngCell.Value) 

Полный код:

 Sub Retrieve_Forecasts() Dim objWorksheet As Worksheet Dim rngBurnDown As Range Dim rngCell As Range Dim strPasteToSheet As String 'Used for the new worksheet we are pasting into Dim objNewSheet As Worksheet Dim rngNextAvailbleRow As Range 'Define the worksheet with our data Set objWorksheet = ThisWorkbook.Worksheets("Forecasts") 'Dynamically define the range to the last cell. 'If we are not starting in A1, then change as appropriate Set rngBurnDown = objWorksheet.Range("A2:A" & objWorksheet.Cells(Rows.Count, "A").End(xlUp).Row) 'Now loop through all the cells in the range For Each rngCell In rngBurnDown.Cells objWorksheet.Select If rngCell.Value <> "" Then 'select the entire row rngCell.EntireRow.Select 'copy the selection Selection.Copy 'Now identify and select the new sheet to paste into Set objNewSheet = ThisWorkbook.Worksheets("Sheet" & rngCell.Value) objNewSheet.Select 'Looking at your initial question, I believe you are trying to find the next available row Set rngNextAvailbleRow = objNewSheet.Range("A1:A" & objNewSheet.Cells(Rows.Count, "A").End(xlUp).Row) Range("A" & rngNextAvailbleRow.Rows.Count + 1).Select ActiveSheet.Paste End If Next rngCell objWorksheet.Select objWorksheet.Cells(1, 1).Select End Sub 

Может ли кто-нибудь помочь?

код пытался активировать лист с именем «Sheet10000001», название рабочего листа было просто «10000001».

Измененный код

 Sub Retrieve_Forecasts() Dim objWorksheet As Worksheet Dim rngBurnDown As Range Dim rngCell As Range Dim strPasteToSheet As String 'Used for the new worksheet we are pasting into Dim objNewSheet As Worksheet Dim rngNextAvailbleRow As Range 'Define the worksheet with our data Set objWorksheet = ThisWorkbook.Worksheets("Forecasts") 'Dynamically define the range to the last cell. 'If we are not starting in A1, then change as appropriate Set rngBurnDown = objWorksheet.Range("A2:A" & objWorksheet.Cells(Rows.Count, "A").End(xlUp).Row) 'Now loop through all the cells in the range For Each rngCell In rngBurnDown.Cells objWorksheet.Select If rngCell.Value <> "" Then 'select the entire row rngCell.EntireRow.Select 'copy the selection Selection.Copy 'Now identify and select the new sheet to paste into Set objNewSheet = ThisWorkbook.Worksheets(rngCell.Value) objNewSheet.Select 'next available row Set rngNextAvailbleRow = objNewSheet.Range("A1:A" & objNewSheet.Cells(Rows.Count, "A").End(xlUp).Row) Range("A" & rngNextAvailbleRow.Rows.Count + 1).Select ActiveSheet.Paste End If Next rngCell objWorksheet.Select objWorksheet.Cells(1, 1).Select End Sub` 

испытаны и работают.

  • Ошибка времени выполнения VBA 438
  • Определенная пользователем или объектная ошибка при вставке формулы в VBA
  • Ошибка выполнения 1004 при вводе формулы в ячейку
  • VBA Error Subscript вне диапазона для цикла, используемого для копирования / вставки
  • Ошибка времени выполнения 424. VBA, если рабочий лист называется «Выполняется», затем выполните код Else Msg Box
  • VBA - выбор метода не выполнен
  • Ошибка времени выполнения «1004»: метод «Пересечение» объекта «_Global» не выполнен
  • Ошибка VBA 424 с пустым
  • Application.Ontime Cancel Fails to Method 'ONTIME' объекта 'Application'
  • Ошибка выполнения 1004: не удалось вставить метод класса рабочей таблицы
  • Макросы Excel VBA xlDays
  • Interesting Posts

    Объявление глобальной переменной из модуля класса

    Вызов функции внутри URL-адреса в таблице Документов Google

    Преобразование заголовков нескольких столбцов в значения в R

    Сортировка кубика Olap по итоговым значениям

    Вычислить IRR (возврат внутренней нормы) и NPV программно в Objective-C

    Как удалить повторяющиеся строки (в Excel) на основе значений другого столбца?

    Можете ли вы вложить таблицы данных Excel?

    Формула Excel на основе цвета фона

    Как создать ods-файлы opendocument с оптимальной высотой строки

    Как добавить информацию в соседнюю ячейку, если есть определенный текст в существующей ячейке?

    excel Удалить строку # ошибка ошибки в формуле

    Возьмите столбец формульных ячеек, которые возвращают пустой или результат, получают только ячейки с результатом

    C # – Правильный способ программного открытия и закрытия файла excel

    Как написать .jpeg в определенную ячейку в Excel

    Excel печатает определенное число в строке, подчиненной другим столбцам

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