gpt4 book ai didi

vba - 如果总和为 0,则查找并删除带标题的最后一列

转载 作者:行者123 更新时间:2023-12-03 03:24:40 27 4
gpt4 key购买 nike

我想创建一个宏,查找带有标题的最后一列,并仅在该列的总和等于零时将其删除。这是我到目前为止所尝试过的:

Dim LastCol As Long, Dim i As Long

With ThisWorkbook.Sheets("Sheet1")
For i = Range("A1").Column To LastCol Step -1
LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
If Application.Sum(Cells(1, i).Resize(LR, 1)) = 0 Then
Columns(i).EntireColumn.Delete
End With
Next i

预先感谢您的关注和帮助

最佳答案

像这样尝试一下:

Option Explicit

Public Sub TestMe()

Dim LastCol As Long, i As Long, LR As Long
LR = 5
With ThisWorkbook.Sheets(1)
LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
For i = LastCol to .Range("A1").Column Step -1
If Application.Sum(.Cells(1, i).Resize(LR, 1)) = 0 Then
.Columns(i).EntireColumn.Delete
End If
Next i
End With

End Sub

这是我改变的:

  • 删除 2.“在此处变暗 -> 变暗 LastCol As Long,i As Long;
  • 正确引用With - End with - 拥有它是一个很好的做法,但它应该给你带来一些东西 - 因此,你应该加一个点在范围之前 - .Range("A1").Co...Columns(i).Entir....Cells(1, .列
  • 条件末尾需要 End If
  • 在顶部添加 [Option Explicit][1] 可帮助您在运行代码之前找到类似的错误;
  • 您在赋值之前引用了lastcol。因此,它应该在循环之前;
  • 循环从第 1 列开始,步骤 -1。它需要逆转(10x @Scott Craner);

关于vba - 如果总和为 0,则查找并删除带标题的最后一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48463874/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com