根据单元格引用在一定范围内插入列

根据单元格引用在一定范围内插入列

因此,我尝试告诉 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它就会将该列向右移动,并将新的列插入到它的左侧。

相关内容