Перенос данных на другой лист - VB

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Проблема в следущем: сравниваются последние сроки двух диапазонов на Лист2. При сравнении, если данные не совпадают, то несовпавшее значение переносится на другой Лист38.
Листинг программы
  1. Sub Перенос()
  2. Dim LastRow1 As Long, LastRow2 As Long, Rng1 As Range, Rng2 As Range, Rng3 As Range
  3. LastRow1 = Cells(Rows.Count, 2).End(xlUp).Row
  4. Set Rng1 = Sheets(2).Range(Cells(LastRow1, 2), Cells(LastRow1, 109))
  5. LastRow2 = Cells(Rows.Count, 114).End(xlUp).Row
  6. Set Rng2 = Sheets(2).Range(Cells(LastRow2, 114), Cells(LastRow2, 221))
  7. Set Rng3 = Sheets(38).Range("B7:DE7")
  8. For i = 1 To 108
  9. If Rng1(i) <> Rng2(i) Then
  10. Rng3(i).Value = Rng1(i).Value
  11. End If
  12. Next
  13. End Sub
На простом примере - в отдельном файле, где немного страниц - все работает. Но при переносе кода в основной файл, содержащий 40 страниц, работать отказывается. Выделяет строку:
Листинг программы
  1. Set Rng1 = Sheets(2).Range(Cells(LastRow1, 2), Cells(LastRow1, 109))
Подскажите, пожалуйста в чем проблема? Спасибо.
Выдает сообщение: Run-time error Application-defined or Object defined error

Решение задачи: «Перенос данных на другой лист»

textual
Листинг программы
  1. with Sheets(2)
  2. Set Rng1 = .Range(.Cells(LastRow1, 2), .Cells(LastRow1, 109))
  3. end with

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут