首页 > 解决方案 > 删除多个工作表中数据集末尾的尾随零

问题描述

我有用户运行一个宏来格式化工作簿中的特定工作表。运行此宏后,用户会在多个工作表中生成尾随零,他们正在寻找一种方法从每个工作表中删除这些零。

最初,我为他们提供了下面的 vba,但这仅对单个工作表有用。

我很好奇是否有一种简单的方法可以更改下面的 VBA 以适应多个工作表,或者我需要完全重写 VBA。

我提供了一张图片,希望通过尾随零来帮助可视化我的意思……请随时索取更多信息。提前感谢您的帮助!

Sub contentkiller()
Dim lastRow As Long
With ActiveSheet
 'Find last row in col C
 lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
'clear data
 .Range("A" & lastRow + 1 & ":Y" & .Rows.Count).ClearContents
End With
End Sub

数据集底部的尾随零

标签: excelvba

解决方案


您可以循环浏览所有工作表。希望它们在结构上相似。像这样的东西应该工作。

Sub runAll()
   Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
     Call contentkiller(ws)
    Next ws
End Sub


Private Sub contentkiller(ws As Worksheet)
   Dim lastRow As Long
   With ws
     'Find last row in col C
     lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
    'clear data
    .Range("A" & lastRow + 1 & ":Y" & .Rows.Count).ClearContents
   End With
End Sub

推荐阅读