简体   繁体   English

使用 VBA 删除最后一张纸的空行

[英]Delete empty rows of the last sheet using VBA

Sub DeleteEmptyRows()
    For b = 1 To 10
        If Worksheets(Sheets.Count).Range(b, 1).Value = "" Then Worksheets(Sheets.Count).Rows(b).Delete
    Next b
End Sub

I am running a macro through Module1 that generates new sheets containing extrapolated data of Sheet1 using Sheets.Add After:=Sheets(Sheets.Count)我正在通过Module1运行一个宏,该宏使用Sheets.Add After:=Sheets(Sheets.Count)生成包含Sheet1外推数据的新工作表

I am able to reference the rows of this new sheet using Worksheets(Sheets.Count).Rows(1)我可以使用Worksheets(Sheets.Count).Rows(1)引用这个新工作表的行

However, I'm unable to make Sub DeleteEmptyRows() work.但是,我无法使Sub DeleteEmptyRows()工作。

Please, try the next way:请尝试下一个方法:

Sub DeleteEmptyRows()
   Dim b As Long, ws As Worksheet, rngDel As Range
   
   Set ws = Worksheets(Sheets.Count)
    For b = 1 To 10
        If ws.Range(b, 1).Value = "" Then
            If rngDel Is Nothing Then
                Set rngDel = ws.Range(b, 1)
            Else
                Set rngDel = Union(rngDel, ws.Range(b, 1))
            End If
    Next b
    If Not rngDel Is Nothing Then rngDel.EntireRow.Delete
End Sub

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM