如何使用vba删除excel中的空单元格

这只是一个示例,我正在testing这些数据中的代码。 我在sheet2中有三列。 我必须删除空单元格。 这是仅适用于B列的更新代码。 你可以检查快照

Sub delete() Dim counter As Integer, i As Integer counter = 0 For i = 1 To 10 If Cells(i, 1).Value <> "" Then Cells(counter + 1, 2).Value = Cells(i, 1).Value counter = counter + 1 End If Next i End Sub 

示例截图
在这里输入图像说明

如果你想要的是删除空单元格,试试这个…

 Sub DeleteBlankCells() Dim rng As Range On Error Resume Next Set rng = Intersect(ActiveSheet.UsedRange, Range("A:C")) rng.SpecialCells(xlCellTypeBlanks).Delete shift:=xlUp End Sub 

不是最优雅的解决scheme,但它的作品。

 Option Explicit Sub delete() Dim rCells As Range, rCell As Range, sFixCell As String Set rCells = Range("A1:A13") For Each rCell In rCells If rCell = "" Then sFixCell = rCell.Address Do While rCell.Value = "" rCell.delete Shift:=xlUp Set rCell = Range(sFixCell) Loop End If Next rCell End Sub