我有一个问题引用列旁边的命名范围(namerange只有1列宽)。我使用了下面的代码来插入一个列:
.sheets("sheet1").Range("NamedRange:NamedRange").EntireColumn.Insert
此操作有效,但将列插入到NamedRange
之前。如果我加上
shift:=xlToRight
或shift:=xlToLeft
它忽略我并将列插入到左边。
几个问题:
- 如何在namerange的右侧插入一列?
- 我怎么能引用行1的新列把一个标题到我的新列?换句话说,我如何找到新的列单元格的地址(row1,column??)?如何提取namerange的新列地址?
如何在namerange的右侧插入一列?
使用。offset来达到你想要的效果。
Thisworkbook.Sheets("Sheet1").Range("NamedRange").offset(,1).EntireColumn.Insert
我如何引用新列的第1行来将标题放到我的新列?
使用Range对象
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