创builddynamic范围并存储命名范围

我在工作表(“模型”)中生成范围A. 我将这些值移到工作表(“数据”),以便我可以开始存储所有这些数据。 我将有另一个选项卡(“SheetC”),显示存储的数据中的两个用户select的范围。 例如从第1天开始的范围A和从第2天开始的范围A.在移动数据以存储在“数据”中的过程中,我想将其放置在最后一个的下面。 我有一个在“SheetC”中引用的计数器,每当新的数据放在表单(i)中时,计数器就会增加。

理想情况下,我希望将“数据”中的每个范围A都命名为不同的范围,因此当用户select某个范围时,我可以通过调用它来简单地显示该范围,而不必在存储的数据中查找值,抵消。

Dim rngData_Total_a As Range Dim rngData_Total_b As Range Dim i As integer i = Sheets("SheetC").Range("AJ3").Value Set rngData_Total_a = Sheets("Model").Range("R14:BH270") Set rngData_Total_b = Sheets("Data").Range(Cells(3 + 270 * i, 3), Cells(3 + 257 * (i + 1), 3)) rngData_Total_b.Value = rngData_Total_a.Value 

我不断收到应用程序/对象定义的错误。 我们可以简单地设置一个范围吗? 还是有更有效的方法来做到这一点? 理想情况下,我也想要一个dynamic范围名称,以便rngData_Total_b更改它的名称与每个新的范围。 基本上这个过程将复制我预先定义x个范围的数字作为不同的名称和“数据”中的不同位置,考虑到我不知道我将在那里存储的范围的数量。

谢谢

安东尼

尝试testing

 Sub test() Dim rngData_Total_a As Range Dim rngData_Total_b As Range Dim i As Integer Dim rngT As Range i = Sheets("SheetC").Range("AJ3").Value Set rngData_Total_a = Sheets("Model").Range("R14:BH270") With Sheets("Model") Set rngT = .Range("c" & Rows.Count).End(xlUp)(2) Set rngDaata_total_b = rngT.Resize(257, 43) End With 'Set rngData_Total_b = Sheets("Data").Range(Cells(3 + 270 * i, 3), Cells(3 + 257 * (i + 1), 3)) rngData_Total_b.Value = rngData_Total_a.Value End Sub