根据特定单元格删除Excel中的列

时间:2014-05-05 11:45:36

标签: excel vba excel-vba

我有一个非常重要的问题,即删除包含excell中不必要数据的某些列,并在删除后将其余列移到左侧。我已经尝试了一些VBA宏,我在一个小的谷歌搜索中发现了那个宏,我发现该宏的链接是http://analysistabs.com/vba/delete-columns-with-specific-data-excel-macro-example-code/

问题是,当我试图使用这个宏和作者的指令它不工作时,我没有理解为什么它不工作的知识。多数民众赞成为什么我想如果你们可以给我一些建议,如果该列包含在单元格170“0”删除任何列编写一个宏>如果列包含列,则保留未删除的列,并在列的单元格170 上包含除“0”以外的其他数字。我举了一个我的excell文件的例子,如下图所示。我希望列保留在我的绿色圆圈,并删除我用红色圆圈示例的列。

此矩阵在 A和BXX 列和“170”列之间包含“2000”列,第1列中包含示例代码和结果代码在第1行。第170行包含列的总和,如果列总和为“0”

,我想删除此列

感谢您的回答.. 最诚挚的问候。

1 个答案:

答案 0 :(得分:2)

试试这个宏:

Sub ColumnKiller()
    Dim Nrow As Long, Nend As Long, i As Long
    Nrow = 170
    Nend = Cells(Nrow, Columns.Count).End(xlToLeft).Column
    For i = Nend To 1 Step -1
        If Cells(Nrow, i) <> "" Then
            If Cells(Nrow, i) = 0 Then
                Cells(Nrow, i).EntireColumn.Delete
            End If
        End If
    Next i
End Sub