相关文章推荐
Dimx,y,zOnErrorResumeNextx=InputBox("请问:从第几列开始插入列(A,B,C...)?")y=Chr(InputBox("请问:总共要插... Dim x, y, z
On Error Resume Next
x = InputBox("请问:从第几列开始插入列(A,B,C...)?")
y = Chr(InputBox("请问:总共要插入几列(1,2,3...)?") + Asc(x) - 1) '把1转换为A,2为B
For z = 1 To Worksheets.Count '在所有工作表中循环执行
Sheets(z).Select
Range(x & ":" & y).Insert shift:=xlToRight '右边插入N列
Next
End Sub
上面的代码是我在网上找的,可以在所有的工作表的指定位置(用户输入)插入指定数量(用户输入)的列,我希望可以再加一个功能,就是在指定数量(用户输入)的工作表中插入,不要是所有的工作表都插入。比如有30个工作表,我输入5,就在从左到右数的第1.2.3.4.5这5个工作表中插入列。

上面是插入列的代码,我还需要同样的功能的插入行的代码。

1、新建一个Excel2003工作表,我们按不同的属性分为不同的列,如在工作经常记录生产信息,我们按照合同号,装置型号,装置名称,客户名称,工程名称,电话,联系人,发货地址来记录信息。

2、后来发现少一个序号的列,不好统计合同数量,所以我们要在第一列加入序号列,那么就要用到插入列,用鼠标选中要插入列位置,可以在菜单插入处点列,也可以直接用Alt+I+C,进行插入列的操作。

3、用鼠标选中要插入列位置处,点右键出现的快捷菜单插入也可以。

4、这个是插入的空白列,自动插入在鼠标选中的左侧。我们在第一行,可以输入序号。

5、对工作表的第一行进行简单设置,每一列的属性不一样,设置的单元格数字也不一样,我们按需要设置就行,这一行与其他行不一样,我们用特殊颜色标识一下,在序号列用自动填充把数字填写好在后面的列中填入合同号。

6、做表时很方便的把列的每一行都填充了,可是如果后面有的信息一行放不下怎么办,序号不能改动的,第一个合同号的对应都是唯一的,但装置可能不只一种就要插入行了,和上述插入列的方法基本一样,只不过点的位置一个是行,一个是列,由插入列变成了插入行了,自动插入到所选行的上面。

Sub 插入列()
Dim x, y, z, n
On Error Resume Next
n = InputBox("请问:前几个工作表插入列)?")
x = InputBox("请问:从第几列开始插入列(A,B,C...)?")
y = Chr(InputBox("请问:总共要插入几列(1,2,3...)?") + Asc(x) - 1) '把1转换为A,2为B
For z = 1 To n '在所有工作表中循环执行
    Sheets(z).Select
    Range(x & ":" & y).Insert shift:=xlToRight '右边插入N列
Next
End Sub

未经检测,自己试试吧。

sub fdsa
Dim x, y, z
dim n_sh 
On Error Resume Next
x = InputBox("请问:从第几列开始插入列(A,B,C...)?")
y = Chr(InputBox("请问:总共要插入几列(1,2,3...)?") + Asc(x) - 1) '把1转换为A,2为B
n_sh = Application.InputBox("请输入要插入列的工作表的数量",,,,,,,type:=1)
if n_sh = false then exit sub
if n_sh > worksheets.count then n_sh= worksheets.count
For z = 1 To n_sh '在所有工作表中循环执行
Sheets(z).Select
Range(x & ":" & y).Insert shift:=xlToRight '右边插入N列
Next
End Sub
 
推荐文章