如何用VBA将某一列删除(该列累计超过22个数值0)

如题所述

按Alt+F11,打开VBA编辑器,插入一个模块,把下面的代码打入去,如果粘贴进去的,请你将多余的内容删除,按F5执行

Sub 宏1()
    LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column    '有多少列
    For i = LastColumn To 1 Step -1    '从最后一列开始循环
        If Application.WorksheetFunction.CountIf(Range(Columns(i), Columns(i)), 0) > 22 Then    '假如超过22个0
            Range(Columns(i), Columns(i)).Select    '选择该列
            Selection.Delete Shift:=xlToLeft    '删除
        End If    '结束假如
    Next    '下一列
End Sub

测试通过。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-09-09

以下代码可满足你的要求:

Sub 删除多0的列()
   For c = ActiveSheet.UsedRange.Columns.Count To 1 Step -1
      If Application.CountIf(Columns(c), 0) > 22 Then Columns(c).Delete
   Next
End Sub

第2个回答  2018-09-06
某列 0的单元格个数>22,就删除该列?
Sub 删除()
Dim K, X
For K = 10 To 1 Step -1
X = WorksheetFunction.CountIf(Columns(K), 0)
If X >= 22 Then
Columns(K).Select
Columns(K).Delete
End If
Next
End Sub
第3个回答  2018-09-06

第4个回答  2018-09-06
Sub Delcolumn()
Dim i%
For i = 1 To ActiveSheet.Range("a1").End(xlToRight).Column
If Application.WorksheetFunction.CountIf(Columns(i), 0) > 22 Then
 Columns(i).Delete Shift:=xlToLeft
End If
Next
End Sub

将代码复制过去执行即可

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网