如果我拥有哪些数据,那么左边是我需要数据的样子。
如果您认为非VBA解决方案会更好,请告诉我。
答案 0 :(得分:0)
Sub RemoveBlankCells()
'Deletes single cells that are blank located inside a designated range
Dim rng As Range
Set rng = Range("A1:A10").SpecialCells(xlCellTypeBlanks)
rng.Rows.Delete Shift:=xlShiftUp
End Sub
这将选择一个范围并找到该范围内的任何空白单元格并将其删除。只需根据需要修改范围。
答案 1 :(得分:0)
我认为解决问题的最佳方法是对不同的细胞进行排序。 您可以创建一个函数,在此处选择输入范围(屏幕截图中的A列和B列),使用VBA,您可以创建一个检测空单元格并对范围进行排序的函数。 对于检测空单元格,您可以使用IsEmpty(“您的单元格”)。
答案 2 :(得分:0)
我通常会这样做:
LastRow = Cells(Rows.Count, 1).End(xlUp).Row 'Change number for column selection
Range("A1:A" & LastRow).SpecialCells(xlCellTypeBlanks).Delete Shift:=xlShiftUp
在屏幕截图中,单元格从第1行开始,但删除空白单元格后,第一行为空白。如果您还需要这个,您可以使用:
Cells(1, 1).Insert 'Change second number for column selection
答案 3 :(得分:0)
在E2中使用此数组公式,
=IFERROR(INDEX(A$1:A$999, MATCH(0, IF(LEN(A$1:A$999), COUNTIF(E$1:E1, A$1:A$999), 1), 0)), "")
需要使用 Ctrl + Shift + Enter↵来最终确定数组公式。如果输入正确,Excel将公式包装在大括号中(例如 {和} );你不要把它们放在自己身上。
正确输入后,填写右栏一列以捕捉B栏中的值,然后根据需要填写E2:F2,以捕捉A栏和B栏中的所有唯一非空白值。