Excel缩短并写入空白列

时间:2017-11-24 10:43:05

标签: excel excel-vba excel-formula vba

我想查找并将空白值从第一个非空白列写入空白单元格。例如: -

Column A
----------------
-Blank cell- 
-Blank cell-
abc
abd
-Blank cell-
-Blank cell-
-Blank cell-
xyz
ycz

我的结果应该是

 Column B
-----------
abc
abc
abc
abd
xyz
xyz
xyz
xyz
ycz

我的条目超过25K,未指定空白单元格。有人可以帮我这个。任何Excel公式或脚本都可以使用

3 个答案:

答案 0 :(得分:3)

  1. 首先选择列中的单元格:
  2. enter image description here

    1. F5 Ctrl + G 并点击“特殊...”:
    2. enter image description here

      1. 选择'空白':
      2. enter image description here

        1. 单击“确定”:
        2. enter image description here

          1. 从这里开始,除了按键键入公式外,不要做任何事情:=A2 = 然后向下箭头键):
          2. enter image description here

            1. 完成公式后,执行 Ctrl + Enter
            2. enter image description here

              1. 可选:复制整列并粘贴为值以删除公式。

答案 1 :(得分:1)

使用宏:

Sub foo()
LastRow = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row
For i = LastRow To 1 Step -1
    If Sheet1.Cells(i, 1).Value <> "" Then LastCheck = Sheet1.Cells(i, 1).Value
    If Sheet1.Cells(i, 1).Value = "" Then Sheet1.Cells(i, 1).Value = LastCheck
Next i
End Sub

答案 2 :(得分:0)

一个简单的IF可以做到这一点。

B1 = IF(A1="",B2,A1)

在所有B栏填写公式。