Excel VBA:检查所有0和delete的列

Excel VBA:检查所有0和delete的列,excel,Excel,我是VBA新手,我一直在努力想如何做到这一点。如果有人能帮忙,我们将不胜感激 我想做的是:我从另一张工作表复制了一系列单元格。此区域包含一个标题,某些列中只有我要删除的0单元格。以下是一个例子: 校长1校长2。校长3。校长4 1 0. 2.3. 2.03.4. 3.04.五, 我希望代码遍历每一行,从第2行开始,检查行中的每个单元格的值是否为0。如果它是0,那么我希望它检查列中的每个单元格,看看列中的所有单元格值是否也是0。如果是,则删

我是VBA新手,我一直在努力想如何做到这一点。如果有人能帮忙,我们将不胜感激

我想做的是:我从另一张工作表复制了一系列单元格。此区域包含一个标题,某些列中只有我要删除的0单元格。以下是一个例子:

校长1校长2。校长3。校长4 1 0. 2.3. 2.03.4. 3.04.五,

我希望代码遍历每一行,从第2行开始,检查行中的每个单元格的值是否为0。如果它是0,那么我希望它检查列中的每个单元格,看看列中的所有单元格值是否也是0。如果是,则删除。如果遇到的值不是零,那么它将跳转到下一列的开头并重复

它将如何处理上面的内容是,它将开始检查第1行。单元格(1,1)的值为1,因此它将转到下一列单元格(1,2)。它检查该值是否为0,然后移到单元格(2,2)下到单元格(2,3)。由于列中每个单元格的所有值均为0,因此删除第2列,然后转到第3列

这是我到目前为止的代码,但它没有删除任何列。列计数器的代码向后,因为我认为这是删除列时最简单的方法

Sub Delete column ()
Dim i as long
Dim j as long
Dim lrow as long
Dim lCol as long

lrow = Cells(rows.count, 1).end(xlup).row
lcol = cells(1, column.count).end(xltoleft).column

For i = 2 to lRow
For j = lCol to 8 Step -1
if Cell(I,j) = 0 then

else
Cell.offset(0,1).select
end if 
next j
Column(1).Entirecolumn.delete 
next i

End sub ()

这应该对你有所帮助。它检查列A并查看值的总和是否为0,如果为0,则删除该列。如果A未添加到0,则只需让列更改字母即可。希望这对你有所帮助

 Sub Deletecolumn()
Dim ColumnTotal As Double

ColumnTotal = Application.WorksheetFunction.Sum(Columns("A:A"))

If ColumnTotal = 0 Then
Columns(1).EntireColumn.Delete
End If
End Sub

我一直在努力想办法做到这一点。很酷的故事,兄弟。到目前为止你试过什么?考虑把你的代码作为As的一部分来展示和帮助也许会更容易。看看是否可以让你开始。为什么不在列上运行<代码> SUFIFE()/代码>,看看它们是否合计为0,然后删除?是的,我正在输入代码,但是我不小心在提交之前就提交了。我用到目前为止的代码更新了它