Excel VBA代码用相邻(列)单元格替换空单元格

时间:2011-05-05 17:45:26

标签: excel vba

我有一个Excel文件,其中一些列信息是空白的。我想用空单元格后面两列的信息填充空白单元格。例如:

E栏是一个人的全名。列F是它们的名字,列G是它们的姓氏。

因此,如果E为空白,我想将F和G的内容组合成E.

1 JOHN JONES  | JOHN  | JONES
2             | MARY  | FORD
3 FRED MURPHY | FRED  | MURPHY
4             | TONYA | FARMER

我希望代码用'MARY FORD'填充第2行中的空单元格,用'TONYA FARMER'填充第4行。

我正在使用Excel 2010并尝试了不同的组合,但似乎没有任何工作方式符合我的要求。

2 个答案:

答案 0 :(得分:2)

我认为你需要第4列

因为你需要一个公式或空格中的东西 - 但是你有文字在那里你可以有一个或另一个

如果你有这样的话

1 JOHN JONES  | =IF(A2="",CONCATENATE(C2," ",D2),A2)   | JOHN  | JONES  |
2             | =IF(A3="",CONCATENATE(C3," ",D3),A3)   | MARY  | FORD   |
3 FRED MURPHY | =IF(A4="",CONCATENATE(C4," ",D4),A4)   | FRED  | MURPHY |
4             | =IF(A5="",CONCATENATE(C5," ",D5),A5)   | TONYA | FARMER |

如果需要,您可以随时隐藏第一列吗?

这除非你想让一个函数作为一次运行的宏运行来填补空白?

罗布

答案 1 :(得分:2)

For Each rw In UsedRange.Rows
  If rw.Columns("E") = "" Then
    rw.Columns("E") = rw.Columns("F") & " " & rw.Columns("G")
  End If
Next rw