自动替换基于列表的文本

时间:2018-02-12 23:59:12

标签: excel vba excel-vba

有没有办法让Excel中的电子表格根据单独的表单上的列表自动更新文本?

所以,让我们说每次将内容复制到Sheet1中并希望它自动将Apple,Orange和Banana这两个单词更新为Sheet2列表中的相应单词,那么最好的方法是什么?

我有一个广泛的分支代码列表,这些分支代码分配给它们的分支名称,但从我们系统提取的数据只提供分支代码。这就是为什么我试图找到一种方法来默认更新。

在下面的示例中,我希望Sheet1中的Branch列中的内容自动替换为我的列表在另一个工作表中提供的内容,这是下面的第二个图像。

Sheet1中的内容:

enter image description here

和Sheet2一起列出:

enter image description here

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

在花了一些时间寻求帮助后,我遇到了这个代码,它为我完成了这项工作:

Sub UpdateBranchNames()
    Dim r As Range
    With Sheets("Sheet2")
        For Each r In .Range("A1:A500", .Range("a" & Rows.Count).End(xlUp))
            Sheets("Sheet1").Columns(8).Replace r.Value, r(, 2).Value
        Next
    End With
End Sub

感谢您的回复。

更新:

感谢@QHarr,这是一个更新版本。

Sub UpdateBranchNames()
    Dim r As Range
    Dim myRange as Range
    Dim myList as Worksheet
    Set myList = Sheets("Sheet2")
    Set myRange = myList.Range("A1:A500", myList.Range("a" & Rows.Count).End(xlUp))

    With myList
        For Each r In myRange
            Sheets("Sheet1").Columns(8).Replace r.Value, r(, 2).Value
        Next
    End With
End Sub