VBA:删除在某一列中有空白的行,并在Excel中创建一个按钮



所以我正在尝试编写VBA代码以删除Excel中的整行,如果某列中该行中的单元格为空白。我对 VBA 完全陌生,所以我实际上只需要边编码边学习。我想我已经掌握了方法,但它总是在工作表中的特定列中留下最后一行空白。在某些情况下,它会在该特定列中留下 5 行空白。任何帮助修复将不胜感激,谢谢!

我还想让它可以单击工作簿中的按钮,很可能在单独的工作表上,它将为特定工作表执行删除行的方法。如果可能的话,我是否能够将所有该方法从一个工作簿移动到另一个工作簿?

我已经尝试了一些使用 VBA 实现这两种方法的方法,但这是我第一次使用 VBA,所以很多对我来说仍然是新的。

Private Sub Button_Click()
Dim LR As Long
Application.ScreenUpdating = False
For LR = Sheets("Test2").Range("AB" & Rows.Count).End(xlUp).Row To 2 Step 1
If Range("AB" & LR).Value = "" Then
Rows(LR).EntireRow.Delete
End If
Next LR
Application.ScreenUpdating = True
End Sub

我希望当我按下工作表中的按钮时,该列中所有带有空白的行都将被删除。

如果该列中的空白单元格确实是空白的,而不是公式返回的零长度字符串(例如""),那么 SpecialCells 可以一次将它们全部删除。

Private Sub Button_Click()
Intersect(Me.Columns("AB"), Me.Cells.SpecialCells(xlCellTypeBlanks)).EntireRow.Delete
End Sub

对于您自己的代码,您应该在循环中向后退一步(步骤 -1)。此外,您不应查看最后一个单元格的 AB 列。如果最后一行或最后一行中有空格,它们将被忽略。

相关内容

最新更新