批量编辑Microsoft Excel中的单元格

时间:2015-07-30 21:20:07

标签: excel vba excel-formula

我需要在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

我需要运行某种形式的宏才能最有可能实现这一目标,但我不知道该怎么做。如果你能提供帮助,请告诉我。

4 个答案:

答案 0 :(得分:3)

在Excel 2013及更高版本中,您可以使用Flash Fill。

手动输入第一个值。选择该单元格,然后单击“数据”功能区上的“Flash Fill”。

Before

after

答案 1 :(得分:2)

您可以使用“帮助”列手动执行此操作,也可以选择单元格并运行:

Sub AddPrefix()
    Dim r As Range
    For Each r In Selection
        r.Value = "UC_" & r.Value
    Next r
End Sub

答案 2 :(得分:2)

如果您的ID位于单元格A1中,则可以在单元格B1中使用此公式

="UC_"&A1

然后拖下那个公式。

“&”符号基本上就像文本的加号一样。你把UC_用双引号表示它是一个字符串,然后只是将它“加”到id。

答案 3 :(得分: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_")来连接字符串。我添加了管道char |所以我以后可以很容易地将它分开,如果你的数据中有一个管道将管道更改为一个没有用过的字符(通过ascii表查看有很多没有显示你可以使用的字符,或者在这种情况下你甚至可以使用vblf )。一旦加入,然后使用管道(或您选择的任何字符)将其拆分,然后回到一个范围内。

你需要在开始时添加| UC_,因为加入不会在开始时添加一个,我在这里完成了:"UC_" & join(applic........

我们使用application.transpose将数组更改为可以填充到某个范围的数组,数组通常会遇到,您希望它会停止运行。请注意,如果您将来要玩这个,要查看实际需要双重转置的列。