怎样删除excel中特定的列?求各位高手解答

具体问题如下,假设下图为excel的部分内容:
1 A B C D E F G H I G K L M N O P
2 region Total Han Hui Mongolian Tujia
T F M T F M T F M T F M T F M
3 Beijing 8 4 4 8 3 5 3 2 1 7 3 4 9 3 7
4 Tianjin 6 4 2 ...........
5 shanxi 9 2 7.........
.................................

注:此ABCDEFGH...行为excel列数的的字母编号, 123...为excel行数的编号
T 代表total总数, F代表Female女性, M代表Male男性。

现在的问题是想要删除所有F 和M 的列,只保留T的列和第一列,应该怎样操作?

非常期待您的回答,小女子先谢过啦~\(≧▽≦)/~啦啦啦
因为数据真的很多,所以不能一列一列删除啊。问题就是有没有批量删除的方法,比如用一些VBA编程啊等等。呵呵,谢谢大家热心的回答,就是有了你们无私的奉献生活才这么美好。此外,之前有个小小错误,改正后为:
A B C D E F G H I G K L M N O P 。。。等等等
1 region Total Han Hui Mongolian Tujia 。。等等等
T F M T F M T F M T F M T F M。。。等等等
2 Beijing 8 4 4 8 3 5 3 2 1 7 3 4 9 3 7 。。。等等等
3 Tianjin 6 4 2 ...........等等等
4 shanxi 9 2 7.........等等等
.................................等等等
等等等

步骤:
①、选中第2行,取消合并单元格
②、选中第1行,在其上面插入一个空白行,
③、在B1:D1单元格中分别输入字母T、F、M,并复制这三个单元格,粘贴到第一行中E1到最右边单元格中,
④、选中B1单元格,按Ctrl+Shift+End组合键,
⑤、排序。注意,1、是按“行”排序(在排序对话框中点“选项”按钮进行设置),2、主要关键字选“行1”,按降序排
⑥、选择把第1行中包含F、M列的单元格,点鼠标右键,选“删除”-“整列”!追问

非常感谢你的回答啊~\(≧▽≦)/~啦啦啦~,可是我严格按照你的步骤进行,但是最后却失败了,悔恨自己不能截图啊。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-26
删除特定列,请在sheet1粘贴如下代码
Sub 小晕()
Dim col As Long
For col = 2 To 255 '此处范围根据需要自行设定即可
Dim k
k = Application.WorksheetFunction.CountIf(Columns(col), "F")
Dim j
j = Application.WorksheetFunction.CountIf(Columns(col), "M")
Sheets("Sheet1").Select
If k > 0 Or j > 0 Then
Columns(col).Select
Selection.Delete Shift:=xlToLeft
End If
Next col
End Sub
备注:对于连续列出现F或M的情况需多执行几遍,才可剔除完全,因为在删除过程中后面的列向前移动了列号(这部分列的数据会被遗漏),但对于你的表格来说(没有相邻的两列有F或M,既当K列有M或F时,K+1列和K-1列都没有出现K和M的情况),执行一次就OK,有问题回复。
徐小晕 [email protected]
第2个回答  2011-12-22
TFM这个字符是在第几行?是单独放置在一个单元格中的吗? 有没有各种合并单元格

假设在第三行,无合并单元格,那么使用以下宏即可。如有疑问可以追问或者hi我。
Sub aa()
Dim rw As Range
For Each rw In Range("2:2")
If rw.Value = "T" Then Columns(rw.Column).Delete
Next rw
End Sub追问

我试了试不知道为什么,用了宏之后一点反应也没有。好奇怪,哎,真心的想说级别低了伤不起,好想截个图,大侠有可以发个邮箱不,我给你邮件问?如果不可以,那我先去看怎样才能快速升级,然后截个图来。~\(≧▽≦)/~啦啦啦

再我帮别人回答了10个问题后,终于升到二级可以发图片了。吼吼,重复下问题想删除所有female和male的列。谢谢你( ⊙o⊙ )哇~\(≧▽≦)/~啦啦啦

追答

先前我看错了,原来你是要保留F和M删除T,而且都是全称,呵呵
你这个图就很清楚了 那么我把宏修改一下

Sub aa()
For r = 255 To 1 Step -1
If Cells(2, r).Value = "Female" Or Cells(2, r).Value = "Male" Or Cells(2, r).Value = "female" Or Cells(2, r).Value = "male"Then Columns(Cells(2, r).Column).Delete
Next r
End Sub

补充一下,数据用宏删除是无法使用撤销键来恢复的,所以记得预先做好备份。

本回答被提问者采纳
第3个回答  2011-12-22
单击你想删除的那列最顶端的那个字母,比如C和D,然后右键,选删除,就可以把这一列的数据全部删除。
第4个回答  2011-12-22
没看明白,好像数据很多,试试一楼这个吧