Excel VBA Макросы. Происходит ошибка во время копирования одного фрагмента в другой.

Автор Посетитель, 11 февраля 2021, 16:59

Посетитель

Я написал макрос и он работал, но как только я решил проверить его на другом файле, вылетает ошибка. Почему происходит ошибка?

Ошибка происходит такая:
Run-time error '1004'
Application-defined or object-defined error

Фрагмент макроса

    ...
    Set Data1 = ThisWorkbook.Sheets("Sheet1")
    Set Data2 = ThisWorkbook.Sheets("Sheet2")
    j = 1
    k = 30
    m = 8
   
    Sheets("Sheet1").Select
    For i = 1 To 30
    Data1.Range(Cells(1, m), Cells(30, m)).Value = Data1.Range(Cells(j, 6), Cells(k, 6)).Value  //ошибка в этой строке
    j = j + 30
    m = m + 1
    k = k + 30
    Next i
    ...
[свернуть]

Администратор

Ошибка в этой строке:
Set Data1 = ThisWorkbook.Sheets("Sheet1")

ThisWorkbook - это файл, в котором находится макрос.
Вам надо обработать активный файл (это файл, который отображается на мониторе). Правильно так:
Set Data1 = Sheets("Sheet1")