我想在一个非常大的电子表格中只删除空白单元格(不是整行),并且想要移动下面的单元格。
您可以从电子表格快照中获得一个想法。
有人可以帮忙吗?我正在处理非常大的电子表格。
谢谢
答案 0 :(得分:1)
您可以使用SpecialCells,例如
Sub x()
On Error Resume Next
Range("C:D").SpecialCells(xlCellTypeBlanks).Delete shift:=xlUp
'or
Range("A1").CurrentRegion.offset(,2).resize(,2).SpecialCells(xlCellTypeBlanks).Delete shift:=xlUp
On Error GoTo 0
End Sub
On Error是为了避免在没有空格的情况下出错。
答案 1 :(得分:0)
这是一种方法。这将删除工作表上每列的空白单元格
Option Explicit
Public Sub RemoveBlanks()
Dim rng As Range
Dim c
Set rng = Application.InputBox("Select a range", "Get Range", Type:=8)
If Not rng Is Nothing Then
On Error Resume Next
With rng.Parent
For Each c In rng
Range(c, c.Offset(.Cells(.Rows.Count, c.Column).End(xlUp).Row - c.Row, 0)).SpecialCells(xlCellTypeBlanks).Delete shift:=xlUp
Next c
End With
On Error GoTo 0
Else
MsgBox "Nothing selected"
End If
End Sub