获取命名范围

时间:2015-05-27 19:00:35

标签: excel excel-vba named-ranges vba

我在引用命名区域旁边的列时遇到问题(NamedRange只有1列宽)。我使用以下代码插入一列:

.sheets("sheet1").Range("NamedRange:NamedRange").EntireColumn.Insert

这可行,但在NamedRange之前插入列。如果我添加

并不重要

shift:=xlToRightshift:=xlToLeft

它忽略了我并将列插入左侧。

几个问题:

  1. 如何在NamedRange的右侧插入一列?
  2. 如何引用新列的第1行以将标题放入我的新列?换句话说,我如何找到新列单元格的地址(row1,列???)?如何提取NamedRange的新列地址?

1 个答案:

答案 0 :(得分:2)

  

如何在NamedRange的右侧插入一列?

使用.Offset实现您的目标。

Thisworkbook.Sheets("Sheet1").Range("NamedRange").offset(,1).EntireColumn.Insert
  

如何引用新列的第1行以将标题放入我的新列?

使用范围对象

Sub Sample()
    Dim rngNm As Range, NewRng As Range

    Set rngNm = ThisWorkbook.Sheets("Sheet1").Range("NamedRange")

    rngNm.Offset(, 1).EntireColumn.Insert

    Set NewRng = rngNm.Offset(, 1)

    Debug.Print NewRng.Address '<~~ New Columsn Address
    Debug.Print NewRng.Cells(1,1).Address '<~~ 1st Cell in the range
End Sub