我正在寻找一种方法来获取一列数据(70 多行),其中包含一些可见条目、一些空单元格和一些公式结果。我正在寻找一种方法来仅复制输入的数据和公式结果。
例如
航站楼1 航站楼2 航站楼3 航站楼4 航站楼5 2 2 1 5 1 6 3 4 1 6 1 2 4 1 2 1 2 1 3
将会回归
航站楼1 航站楼2 航站楼3 航站楼4 航站楼5 2 2 3 1 5 1 6 6 4 1 1 2 4 1 2 1 2 1 3
答案1
非 VBA 解决方案:
- 选择表格。
- 点击Ctrl+G
- 打Special...
- 选择“空白”
- 点击Ctrl+-
- 选择“向上移动单元格”
- 打Enter
哒哒!
答案2
我假设你的表单如下所示:
打开 VBE ALT+F11并插入新的Module
复制并粘贴以下代码并运行RemoveEmptiesAndShfitUp
子程序
Sub RemoveEmptiesAndShiftUp()
Dim i As Long, j As Long, r As Range
For j = Cells(1, Columns.Count).End(xlToLeft).Column To 1 Step -1
For i = Cells(Rows.Count, j).End(xlUp).Row To 2 Step -1
Set r = Cells(i, j)
If IsEmpty(r) Then r.Delete shift:=xlUp
Set r = Nothing
Next i
Next j
End Sub
代码将从最后一列的行迭代到第一列的第二行,并删除所有空单元格,将其他单元格向上移动。因此,您的结果将如下所示