获取命名范围的列号和行号

Get column and row number for named range

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

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

这可行,但会在 NamedRange 之前插入该列。我加

没关系

shift:=xlToRightshift:=xlToLeft

它无视我,将列插入左侧。

几个问题:

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

how can I insert a column to the right of the NamedRange?

使用.Offset 来实现你想要的。

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

how can I reference row 1 of the new column to put a header to my new column?

使用范围对象

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