2014-02-17 191 views
0

我有一个电子表格,我正在清理并使用宏来提供帮助。我的专栏'C'有温度数据。与所有数据一样,有一些缺失。我将如何编写一个可以自动填充以前数据的缺失点的宏?excel宏列自动填充

例如:

C          C 

1 37         1 37 
2 35         2 35 
3     -------->   3 35 
4 37         4 37 
5 36         5 36 

光斑C3已经充满了C2的数据。

谢谢你的帮助。

+0

是有可能有在相邻行(比方说,35',,36')两个空单元? –

回答

2

试试这个:

+0

+ 1对于vba解决方案。 –

0

我怎么会写宏:
此只包含片段。

遍历列中的所有单元格:
for each cell in ActiveSheet.Columns(1).Cells

如果单元格的值不为空 - >的值保存到变量
If cell.value <> Empty then lastCellValue = cell.value

如果单元格的值是空 - >写保存单元格值进入细胞
Else cell.value = lastCellValue

也:
如果超过x(例如, 20)连续的单元格是空的,从循环中断开

3

您真的需要VBA吗?

做这个

  1. 选择山口Ç
  2. 按Ctrl +
  3. 点击Special
  4. 下一页点击Blanks
  5. 点击Ok
  6. 所有空单元格现在是sel ected。按=键,然后向上箭头键
  7. 最后按下Ctrl键+标签+输入你做。

截图

enter image description here

+0

+1!我想从你的另一个答案'[C2:C10] = [INDEX(IF(C2:C10 =“”,C1:C9,C2:C10),)]'中使用VBA公式,但它只适用于在连续的行中没有两个空单元格,我的良知会有罪:) –

+1

@simoco:'我的良知会有罪:) - simoco 49秒前'不只是我的帖子,但如果您使用任何其他职位作为参考,你应该始终在你的帖子中给这个人一个信用。然后你会注意到你永远不会再感到内疚;)对于[EXAMPLE](http://stackoverflow.com/questions/21769948/excel-vba-capitalizing-all-selected-cells-in-column-on-double-点击/ 21773083#21773083) –