我正在尝试按标题为excel电子表格中的每一列命名。例如,如果一列有标题" cat"我想要将列命名为#34; cat"。这样我可以在公式中引用cat,而不是用A:A。
指定列我可以使用单个列完成此操作,但是当我尝试使用多个列时,我的过程失败了。这是我的代码。
Sub defineName()
Dim numColumns As Long
Range("A1").Select
numColumns = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
Columns("A:A").Select
For cat = 0 To numColumns
Selection.Offset(0, I).Select
ActiveWorkbook.Names.Add Name:=cat1, RefersToR1C1:="activesheet.cat1"
Next cat
End Sub
我很确定我的问题是这部分
Name:=cat1, RefersToR1C1:="activesheet.cat1"
它并没有像我想的那样迭代。
我几乎希望自己可以
Name:=[cat]1, RefersToR1C1:="activesheet.[cat]1"
但这也不起作用。有人有想法吗?
答案 0 :(得分:1)
请参阅上面的建议,但这里是替代代码。命名整列虽然看起来效率不高。看过汤姆的建议后,我认为这是一种更好的方法。
Sub defineName()
Dim numColumns As Long, cat As Long
numColumns = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
For cat = 1 To numColumns
Columns(cat).Name = Cells(1, cat)
Next cat
End Sub