使用A列中的空白单元命名多个范围以定义范围大小

时间:2013-01-02 21:50:18

标签: excel vba loops excel-vba range

首先,我是新手,所以请原谅我,如果我似乎无知或我的请求格式不正确。

我有一个从ERP系统导出的电子表格。 A列包含一个零件编号,后跟不同数量的空白行(行数取决于B到H列中的数据量)。

我需要做的是命名一个范围,该范围以包含零件号的A列中的第一个单元格开始,并延伸到包含下一个零件号的A列单元格之前的最后一个空白单元格。例如A1:如果A11包含第二个零件号,则为H10。

然后我想循环代码,以便它将部件号2的数据范围命名为部件号3上方的空白单元格,依此类推,直到工作表(包含大约2000个填充行和150-200个PN) )。

我很确定我可以编写其余的代码但我无法弄清楚如何选择适当的行数。

我非常感谢任何建议。

由于

皮特

1 个答案:

答案 0 :(得分:1)

根据我对你所写内容的理解,我想出了这个短篇小说,至少应该让你朝着正确的方向前进:

Sub test()

Dim FirstCell As Range
Dim TargetRange As Range
Dim NameCounter As Integer

Set FirstCell = Range("A1")
NameCounter = 1

  Do
     Set TargetRange = Range(FirstCell, FirstCell.End(xlDown).Offset(-1, 7))
     TargetRange.Name = "Name_" & NameCounter
     Set FirstCell = FirstCell.End(xlDown)
     NameCounter = NameCounter + 1
  Loop Until FirstCell.Row > 1000000

End Sub

您要求的主要部分是Set TargetRange = Range(FirstCell, FirstCell.End(xlDown).Offset(-1, 7))

希望有所帮助