Проблема с копированием диапазона с одного листа на другой - PullRequest
0 голосов
/ 26 января 2019

Я пытаюсь скопировать диапазон данных с одного рабочего листа на новый.Приведенный ниже код работает нормально до последней строки, после чего он выдает «Ошибка приложения или объекта».

Похоже, что я делаю то же самое для нового диапазона листа, что и ядля существующих wks / rng;Не понимаю, почему [rngSolution] не «создан»?

Этот код находится в модуле рабочей книги.Я использую Office / Excel 365 на этом.Я довольно хорошо знаком с VBA в объектной модели Access, но не настолько в модели obj Excel.

Спасибо за вашу помощь.

Application.DisplayAlerts = False
On Error Resume Next

'-- delete the Solution wks if it exists
Worksheets("Solution").Delete

On Error GoTo PROC_ERR
Application.DisplayAlerts = True

'-- (re)create the Solutions wks
Worksheets.Add(After:=Sheets(Sheets.Count)).Name = "Solution"

'-- copy original data to new worksheet/range
Dim rngDataset As Range, rngSolution As Range

Set rngDataset = ActiveWorkbook.Sheets("DataSet").Range("A1").CurrentRegion
Debug.Print rngDataset.Name; " "; rngDataset.Rows.Count; " "; rngDataset.Columns.Count

Set rngSolution = ActiveWorkbook.Sheets("Solution").Range("A1")
rngDataset.Copy Destination:=rngSolution

Debug.Print rngSolution.Name; " "; rngSolution.Rows.Count; " "; rngSolution.Columns.Count

1 Ответ

0 голосов
/ 26 января 2019

rngDataset и rngSolution не являются именованными диапазонами, в результате чего свойство диапазона Имя недоступно. Вы можете установить имена, если хотите, например, в

rngDataset.Name = "Dataset"

хотя не понятно, зачем вам это нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...