VBA Excel:重命名列以便于参考

der*_*Max 3 excel vba range excel-vba named-ranges

我正在编写一个脚本,将数据从Excel单元格传输到不同的单词表.到目前为止,我这样做:

    wordDoc.Bookmarks("Editor").Range.Text = Sheets("Product Eval").Range("E" & evalRow).Text
Run Code Online (Sandbox Code Playgroud)

以前计算evalRow的位置.

现在,我想避免在有人在列E之前添加列时重写整个代码.是否可以重命名整列,即使它们被移动也保留其名称,并且我可以引用特定的单元格VBA中的列名?

der*_*Max 5

自己解决了这个问题:

  • 标记整列
  • 在Excel 2007的左上角的"名称框"中写入所需的名称,然后按Enter键

在VBA中,以下代码处理特定列中的第4行(根据列标题命名为"Employees"列):

    test = Sheets("Sheet1").Range("Employees").Cells(4, 1).Text
Run Code Online (Sandbox Code Playgroud)

请注意,使用列时,Cells的第二个参数始终必须为1(否则您将离开列)