我有一个报告,我必须在最后一列和倒数第二列之间插入一个新列。但是,当我尝试插入列时,出现类型不匹配错误。
Dim columnInsert As Range
Dim rangeAverage As Range
Set columnInsert = Range("X80:X95")
Set rangeAverage = Range("AA1")
Columns(columnInsert:rangeAverage).Insert Shift:=xlToRight
编辑指出的问题是这一行:
列(columnInsert:rangeAverage).Insert Shift:= xlToRight
基本上我想做的就是在AA1和Z之间插入15个长空栏,但我一直遇到问题。
答案 0 :(得分:1)
您在.Insert
声明中输入的范围不正确
Columns(columnInsert:rangeAverage)
转换为Columns(Range("X80:X95"):Range("AA1"))
这将仅移动指定范围内的单元格:
columnInsert.Insert Shift:=xlToRight 'shifts only the cells from X80:X95 to right
rangeAverage.Insert Shift:=xlToRight 'shifts cell AA1 to right
这会将整个AA列向右移动
Columns(rangeAverage).Insert Shift:=xlToRight
Columns(rangeAverage.Column).Insert Shift:=xlToRight
下面的任何一个陈述都会在Z栏和AA之间插入一个空白栏:
Columns("AA:AA").Insert Shift:=xlToRight
Columns("AA").Insert Shift:=xlToRight
Columns(27).Insert Shift:=xlToRight 'column index
您还可以插入多个列:
Columns("Z:AA").Insert Shift:=xlToLeft
这会在列Y和Z之间插入2个空列