问题复制范围从一个工作表到另一个工作表

时间:2019-01-26 17:40:11

标签: excel vba

我正在尝试将一系列数据从一个工作表复制到新工作表。下面的代码可以正常工作,直到最后一行,这时它会引发“应用程序定义的错误或对象定义的错误”。

对于新工作表范围,我似乎与对现有wks / rng所做的事情相同;不明白为什么[rngSolution]没有被实例化?

此代码在工作簿模块中。我正在使用Office / Excel 365。我对Access对象模型中的VBA非常熟悉,但对Excel obj模型却不甚了解。

感谢您的帮助。

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 :(得分:0)

rngDatasetrngSolution不是命名范围,因此范围属性 Name 不可用。您可以设置名称,例如,

rngDataset.Name = "Dataset"

尽管不清楚为什么要这么做。