如何将字符串连接到某一列的所有单元格(就地)?

如何将字符串连接到某一列的所有单元格(就地)?

我只想将一些文本附加到某一列的所有单元格,但我想就地执行此操作。即使用新值更新同一列。

例如,如果我有一列:

A
A
b

我想要得到:

A
一个新的
b 新

我知道我可以=A1&" new"在 B 的第一个单元格上执行并拖动(然后用 B 列中生成的值覆盖 A 列)。但正如我所说,我正在寻找一个到位不使用辅助列并仅更新 A 列的解决方案。

最好寻找一种不使用 VBA 的解决方案,但这也可以接受。

答案1

最简单的解决方案是创建一个包含公式的新列=A1&" new",然后将其复制粘贴到旧列上。您可以使用“值的选择性粘贴”来不覆盖公式。

复杂的解决方案是使用这样的 VBA 宏:

Sub AppendToExistingOnLeft()
Dim c As Range
For Each c In Selection
  If c.Value <> "" Then c.Value = c.Value & " new"
Next
End Sub

此 VBA 可按如下方式使用:

  1. 选择范围

  2. 按住Alt+F11打开 Microsoft Visual Basic 窗口。

  3. 点击插入 > 模块并将上述 VBA 代码粘贴到模块窗口中

  4. 按 F5 键运行此宏。

相关内容