因此,我尝试告诉 VBA 根据单元格引用在其他两个列之间插入一定数量的列。
我已设法让 Excel 在我的范围内插入列:
子插入()
范围(范围(“Data_FirstColumn”)。偏移量(,1)范围(“Data_Net”)。偏移量(,-2))。整个列.插入
子目录结束
本质上我想根据单元格引用在“Data_FirstColumn”和“Data_Net”之间插入 x 列
例如:如果单元格显示 10,我希望 excel 在“Data_FirstColumn”和“Data_Net”之间插入 10 列。如果单元格显示 1,我希望 excel 在“Data_FirstColumn”和“Data_Net”之间插入 1 列。
我尝试了以下操作,但它一直在“Data_FirstColumn”左侧插入列,而不是在“Data_FirstColumn”和“Data_Net”之间插入列
Sub INSERT()
Range(Range("Data_FirstColumn").Offset(, 1), Range("Data_Boundary").Offset(, -2)).Application.DisplayAlerts = False
Dim i As Integer
For i = 1 To Range("Assumptions!B26").Value
Columns(1).INSERT
Next i
Application.DisplayAlerts = True
子目录结束
谢谢!
答案1
这只是像这样简单的事情:
Sub test()
Dim i As Integer
For i = 1 To Range("A1").Value
Columns("D:D").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Next i
End Sub
因此对于您来说,使用命名范围,只需投入,shift:=xltoright
它就会将该列向右移动,并将新的列插入到它的左侧。