excel高手帮忙,批量删除列

来源:百度知道 编辑:UC知道 时间:2024/06/08 05:51:07
要删除B,C,E,F,H,I...列,保留A,D,G...列.也就是保留1,4,7,10,.....列.
列太多了,到VI列了,不想摁CTRL和点鼠标。

你按alt +F11,在左上的工程的窗口中右建---点插---模块,
出现一个窗口后,在这个窗口中复制下面的代码,然后按F5,就会出来答案了

Sub yy()

For i = 1 To 140 Step 1
Columns(i + 1).Delete
Columns(i + 1).Delete
Next
End Sub

其中的 140 你可以换成你要的列数,不要大于工作表的列就可以

假定原数据在SHEET1表中,请在SHEET2表A1单元格输入公式:
=IF((COLUMN()>COUNTA(Sheet1!$1:$1)/3)+(ROW()>COUNTA(Sheet1!$A:$A)),"",INDEX(Sheet1!$1:$65536,ROW(),3*(COLUMN()-1)+1))
将公式向右向下复制.
然后用"复制"/"选择性粘贴"/"数值"将SHEET2表数据固定下来.
SHEET2表就是你要的结果.
SHEET1表可以删除.

比如前1-4行有数据,
在B5输入1,C5输入1(这2个单元格输入数字,文本都行,只要保证它不为空),选中A5:C5,用填充柄向右填充至最后一列(这样就可看到要被删除的列的下面都是1),编辑,定位,定位条件,常量(要保证下面的数字被选上,因为前B5,C5输入的是数字),确定,右键选中的单元格,删除,整列,确定.

选中那几列,右键选删除就可以了

用宏。