![Excel - 以编程方式插入单元格数据的最佳方式](https://linux22.com/image/1383884/Excel%20-%20%E4%BB%A5%E7%BC%96%E7%A8%8B%E6%96%B9%E5%BC%8F%E6%8F%92%E5%85%A5%E5%8D%95%E5%85%83%E6%A0%BC%E6%95%B0%E6%8D%AE%E7%9A%84%E6%9C%80%E4%BD%B3%E6%96%B9%E5%BC%8F.png)
我的电子表格格式如下:
(empty)
(empty)
(empty)
(empty)
(empty)
(data)
(empty)
(empty)
(data)
(empty)
(empty)
(empty)
(data)
将数据从紧邻其下方的数据插入到空单元格中的最佳方法是什么?
例如:
(empty)
(empty)
(empty)
(empty)
(data1)
(empty)
(empty)
(data2)
变成:
(data1)
(data1)
(data1)
(data1)
(data1)
(data2)
(data2)
(data2)
答案1
假设您的数据在 A 列,而 B 列为空,则可以用以下公式填充 B 列:
(此处的行号 1 对应于您放置此公式的单元格的行。)
=IF(A1="",B2,A1)
这样做的目的是查看当前行中的单元格。如果该值为空,则从下面的单元格中提取数据。使用相同的查找,下面的单元格将被填充一些内容,然后这些内容将沿着列向上流到所有单元格。
在用此内容填写 B 列后,您可以将值复制/粘贴到 A 列中的原始字段中。
答案2
从底部填充,例如列德:
Sub FillUp()
Dim N As Long, L As Long
N = Cells(Rows.Count, "D").End(xlUp).Row
For L = N - 1 To 1 Step -1
If Cells(L, "D").Value = "" Then
Cells(L, "D").Value = Cells(L + 1, "D").Value
End If
Next L
End Sub