Форум по VBA и MS Office

VBA, Excel => VBA, макросы в Excel => Тема начата: Посетитель от 11 февраля 2021, 16:59

Название: 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
    ...
[свернуть]
Название: Re: Excel VBA Макросы. Происходит ошибка во время копирования одного фрагмента в другой.
Отправлено: Администратор от 11 февраля 2021, 17:16
Ошибка в этой строке:
Set Data1 = ThisWorkbook.Sheets("Sheet1")

ThisWorkbook - это файл, в котором находится макрос.
Вам надо обработать активный файл (это файл, который отображается на мониторе). Правильно так:
Set Data1 = Sheets("Sheet1")
Название: Re: Excel VBA Макросы. Происходит ошибка во время копирования одного фрагмента в другой.
Отправлено: Посетитель от 11 февраля 2021, 17:25
Вы правы, спасибо огромное!