use*_*700 4 excel vba excel-vba
我正在尝试创建一个Excel宏,该宏会在D列之前自动插入两列...创建该过程时,它运行良好,这里是:
Sub AddColumns()
Columns("D:D").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
Run Code Online (Sandbox Code Playgroud)
但是,当我打开工作表并进行尝试时,我的所有数据都被推到右侧约11列,并插入了11个空白列。我确定这必须合并有11列的某些行。Select语句选择前11列AK。
我该如何解决?
这是因为行Columns("D:D").Select。如果您不选择此列,则代码会正常工作。
改用这个:
With Range("D:D")
.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
End With
Run Code Online (Sandbox Code Playgroud)
而且,如何避免使用Select / Active语句 :)
| 归档时间: |
|
| 查看次数: |
7320 次 |
| 最近记录: |