任务: 在不同的列左侧插入指定数量的空白列(本例是要求在每列左侧插入第2行数字对应的空白列)
插入空白列前插入空白列后
vba代码如下:
Sub 在不同的列左侧插入指定数量的空白列()
Dim m, n, i As Integer
For n = 5 To 1 Step -1
Sheets("Sheet1").Columns(n).Select
m = Sheets("Sheet2").Cells(1, n).Value
For i = 1 To m Step 1
Selection.Insert Shift:=xlToRight
Next i
Next n
End Sub
以上代码注释如下:
Sub 在不同的列左侧插入指定数量的空白列()
Dim m, n, i As Integer
For n = 5 To 1 Step -1'在sheet1工作表中,假设A列共有5列,要在每列的左侧插入第2行对应数字的空白列数,记住,是在左侧插入空白列,不是在右侧插入空白列
Sheets("Sheet1").Columns(n).Select '选中sheet1工作表中的第n列
m = Sheets("Sheet2").Cells(1, n).Value'提前把sheet1工作表中第2行的数字放到sheet2工作表第一行的前5个单元格中,这一步是必要的,然后取出sheet2工作表第1行的第m个单元格中的数字,赋给变量n
For i = 1 To m Step 1 '利用for...next 循环在sheet1表中第m列左侧插入n个空白列
Selection.Insert Shift:=xlToRight '单纯这一句的话,只能在第m列左侧插入一个空白列
Next i
Next n
End Sub