VBA: функция вставки вызывает ошибку 1004 после очистки диапазона вставки - PullRequest
0 голосов
/ 20 февраля 2019

У меня проблема с моим кодом, когда я пытаюсь скопировать часть данных с одного листа («Импорт») на другой («TIs»).На втором листе есть диапазон, который очищается перед копированием данных.Когда я пытаюсь вставить его, я получаю

Ошибка 1004 «Ошибка приложения или объекта»

Sub Data()
Sheets("Import").Cells.ClearContents
Sheets("TIs").Range("A2:F10000").ClearContents

Dim sPath As String 'Input file path
Dim k As Integer
Dim CopyData

CopyData = 10

For k = 1 To 1 'For now k=1
    sPath = ThisWorkbook.Path & "\InputData\Data (" & k & ").csv"                           'defines a path to csv file
    copyDataFromCsvFileToSheet sPath, ",", "Import"                                         'imports data from csv file to "Import" Sheet (this is another functions, it works perfectly)
    DataLength = Application.WorksheetFunction.CountA(Sheets("Import").Range("B:B"))        'defines last row where are imported data
    Sheets("Import").Range(Cells(CopyData + 1, 2), Cells(DataLength, 7)).Copy Sheets("TIs").Range("A2")     'copies it from one sheet to another
Next k

End Sub

Это прекрасно работало, прежде чем я запустилВпервые функция Clear / ClearContents.В первой версии этот диапазон не был очищен и работал нормально.Затем я впервые запускаю макрос с функцией «Очистить», и с этого времени функция «вставки» вообще не работает - независимо от того, прокомментирована ли функция «Clear / ClearContents» или нет.

Знаете ли вы, чтопроблема в?Спасибо за поддержку.

1 Ответ

0 голосов
/ 21 февраля 2019

Пользователь PEH решил проблему.Проблема была со ссылкой на лист со строкой

Sheets("Import").Range(Cells(CopyData + 1, 2), Cells(DataLength, 7)).Copy Sheets("TIs").Range("A2")     'copies it from one sheet to another

Правильная версия:

Sheets("Import").Range(Sheets("Import").Cells(CopyData + 1, 2), Sheets("Import").Cells(DataLength, 7)).Copy Sheets("TIs").Range("A2")     'copies it from one sheet to another
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...