我只想将一些文本附加到某一列的所有单元格,但我想就地执行此操作。即使用新值更新同一列。
例如,如果我有一列:
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 可按如下方式使用:
选择范围
按住Alt+F11打开 Microsoft Visual Basic 窗口。
点击插入 > 模块并将上述 VBA 代码粘贴到模块窗口中
按 F5 键运行此宏。