EXCLE中用VBA保留B列和D列。其他列全删除
2个回答
展开全部
Option Explicit
Sub del()
Dim urng As Range
Dim i As Integer
With ActiveSheet
Set urng = .UsedRange
For i = urng.Columns.Count To 1 Step -1
If Chr(i + 64) <> "B" And Chr(i + 64) <> "D" Then Columns(i).Delete
Next i
End With
Set urng = Nothing
End Sub
代码是对当前工作表产生效果的,就是说你要先打开你要删除的表格,然后执行del宏就会删除
展开全部
是保留B和D列内容?还是将其它列全部删除,最终B列变成A弄,D列变成B列?
如果是保留的话,用下面的代码即可:
Sub 保留BD列()
Dim acCol, Col
Set acCol = ActiveSheet.UsedRange.Columns
For Each Col In acCol
If Col.Column <> 2 And Col.Column <> 4 Then Col.Value = ""
Next
End Sub
如果是保留的话,用下面的代码即可:
Sub 保留BD列()
Dim acCol, Col
Set acCol = ActiveSheet.UsedRange.Columns
For Each Col In acCol
If Col.Column <> 2 And Col.Column <> 4 Then Col.Value = ""
Next
End Sub
追问
是的。保留B和D,然后B变成A,D变B。其他的列删除。
还有就是有很多个EXCLE表都要这样子弄。
需要怎么弄。
追答
Sub 保留BD列()
Dim acCol, Col
Set acCol = ActiveSheet.UsedRange.Columns
For Each Col In acCol
If Col.Column 2 And Col.Column 4 Then Col.Value = ""
Next
Range("A:A,C:C").Delete Shift:=xlToLeft
End Sub
每个工作表用一下这个宏就可以了,或者你自己修正编历所有sheet表就可以了,就是上面再加个循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询