在Microsoft Excel中批量编辑单元格

3

我需要在Microsoft Excel中编辑大量单元格,但不知道如何最好地实现我的目标。

基本上,我有一个像这样的数千个id列表:

503kekd23k0dLY4_
ytp-4r30=-340rR_
HdgfkER4ww=_4--3
=4tR_Ee4we403Prr

我需要能够给这些单元格添加前缀“UC_”,使得单元格看起来像这样:
UC_503kekd23k0dLY4_
UC_ytp-4r30=-340rR_
UC_HdgfkER4ww=_4--3
UC_=4tR_Ee4we403Prr

我需要运行某种宏来完成这个任务,但我不太清楚如何实现。如果您能帮忙,请告诉我。


3
不需要宏,只需在另一列中使用公式 ="UC_"&A1(或者它们所在的列),然后向下填充公式。然后复制,并粘贴特殊值覆盖。 - Bond
4个回答

4
如果您的id在单元格A1中,您可以在单元格B1中使用以下公式:
="UC_"&A1
然后将该公式向下拖动即可。
"&"符号基本上像文本加号一样起作用。您将UC_放在双引号中以表示它是一个字符串,然后只需将其与id“相加”即可。

1
不错的答案 - 不需要 VB 并且相对快速。他可以复制/粘贴特殊值以使它们保留,并删除原始列。 - BruceWayne

4

在Excel 2013及以上版本中,您可以使用闪填功能。

手动输入第一个数值。选择该单元格并在“数据”选项卡上单击“闪填”。

之前

Before

之后

after


1
同样地,当您想要修剪或删除单词的固定后缀/前缀时,这也适用。 - L42

3
您可以通过一个“辅助列”手动完成此操作,或者选择单元格并运行以下命令:
Sub AddPrefix()
    Dim r As Range
    For Each r In Selection
        r.Value = "UC_" & r.Value
    Next r
End Sub

0
如果你想用VBA实现这个功能,只需要一行代码即可:
Range("C6:C9").Formula = application.transpose(split("UC_" & join(application.transpose(range("A6:A9")),"|UC_"),"|"))

这将结果发布到C列,但如果您希望可以直接发布到A列。 我在我的测试中使用了A6:A9,请确保更新两个范围。

理论上使用|UC_作为分隔符连接字符串join(application.transpose(range("A6:A9")),"|UC_")。我添加了管道字符|,以便稍后可以轻松拆分它,如果您的数据中有一个管道,请将管道更改为未使用的字符(查看ASCII表,有许多未显示的字符可用,或者在这种情况下,甚至可以使用vblf)。一旦连接然后使用管道(或您选择的任何字符)将其拆分并放回到范围中。

您需要在开始处添加|UC_,因为连接不会在开头放置一个,我在这里做了:"UC_" & join(applic........

我们使用application.transpose将数组更改为可以填充到范围的内容,数组通常横跨,您希望其向下。 请注意,如果您将来要尝试这方面的操作,请实际上需要双重转置才能横跨列。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接