我正在尝试将空行删除到底部。当我使用下面的方法时,我对表中的公式有疑问。
在右侧创建一个新列。使用公式= IF(C2<>“,2,1)并填写。 从窥探中隐藏列(只需右键单击顶部的灰色列标题即可隐藏它) 按此列排序,而不是C。
提前谢谢!
答案 0 :(得分:3)
试试这个,
当column c
代码
Sub g()
Dim r As Range
Dim rng As Range
For Each r In Range("C1:C" & Cells(Rows.Count, 3).End(xlUp).Row)
If r = "" Then
If Not rng Is Nothing Then Set rng = Union(rng, r) Else Set rng = r
End If
Next r
rng.EntireRow.Copy
Range("A" & Cells(Rows.Count, 3).End(xlUp).Row + 1).PasteSpecial (xlPasteValues)
rng.EntireRow.Delete
End Sub
答案 1 :(得分:0)
如果列D为空,您可以尝试以下代码:
Option Explicit
Sub main()
With Range("C1", Cells(Rows.Count, 3).End(xlUp))
.AutoFilter Field:=1, Criteria1:="<>"
.Resize(.Rows.Count - 1).Offset(1).SpecialCells(xlCellTypeVisible).Copy
.Offset(1, 1).PasteSpecial
Application.CutCopyMode = False
.Parent.AutoFilterMode = False
.Value = .Offset(, 1).Value
.Offset(, 1).ClearContents
End With
End Sub