关于excel如何搜索&;使用库替换列上的字符串

关于excel如何搜索&;使用库替换列上的字符串,excel,search,replace,vba,Excel,Search,Replace,Vba,我有一个大约10000行的大型excel电子表格和5000个独特的ID。我想做一个基于数据库的搜索和替换 发件人: 至: 我知道这可以通过在excel上快速搜索和替换来完成,但是如果数据中有大约5000个唯一的代理ID,这将是一项艰巨的任务 有谁有好的建议吗 提前谢谢 以下是一些VBA,它们将根据另一个表中的值列表在一个表中查找并替换 Sub multiFindandReplace() Dim myList, myRange Set myList = Sheets("config").Ra

我有一个大约10000行的大型excel电子表格和5000个独特的ID。我想做一个基于数据库的搜索和替换

发件人:

至:

我知道这可以通过在excel上快速搜索和替换来完成,但是如果数据中有大约5000个唯一的代理ID,这将是一项艰巨的任务

有谁有好的建议吗


提前谢谢

以下是一些VBA,它们将根据另一个表中的值列表在一个表中查找并替换

Sub multiFindandReplace()
Dim myList, myRange
Set myList = Sheets("config").Range("A1:B9")
Set myRange = Sheets("Sheet1").Range("B2:I1000")
For Each cel In myList.Columns(1).Cells
myRange.Replace What:=cel.Value, Replacement:=cel.Offset(0, 1).Value, LookAt:=xlPart
Next cel
End Sub

这是在表1中搜索单元格B2:I1000。配置表包含2列,要在A列中查找的值,如果找到这些值,将用该行B列中的值替换它们

我能够编写一个vb宏代码来完成我所需要的工作。我可能需要调整一些特定的单元格,但它现在起作用了

Sub FindAndReplace()
' FindAndReplace Macro
' @author Louie Miranda
' Ability to find the range of ids against another worksheet
' and insert the name on the main sheet
'
    ' Loop over the current worksheet
    For Each c In Worksheets("RECORDS").Range("A3:A7").Cells

        ' Go to Agents sheet
        Sheets("AGENTS").Select

        ' Do a search
        Cells.Find(What:=c, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate

        Application.CutCopyMode = False

        ' Choose beside the column to copy
        ActiveCell.Offset(rowOffSet:=0, columnOffset:=-1).Activate
        Selection.Copy

        ' Back to records sheet
        Sheets("RECORDS").Select

        ' Paste on the current row, plus arrange on which row/offset
        Range(c.Address).Offset(0, 1).Select
        ActiveSheet.Paste

    Next c
End Sub

你打算做什么样的替换?对于性能方面的查询,我只需在Excel中使用SQL:。它将比任何VBA更有效。您还可以使用外部数据->来自其他来源->Microsoft QueryI修改示例来创建查询。我知道,SQL很容易做到这一点。但是,SQL在这里不可用。我不明白?意思是在哪里?在Excel中,您可以轻松使用SQL。请详细说明你想要达到的目标。请不要再通过添加“SQL”来混淆这个问题。我认为很难再混淆这个问题了。如果你不回答旨在理解问题的问题,那么帮助你就更难了。感谢Bilbo Bagginson提供的提示,关于这段代码的一个问题是,一旦它试图找到,如果没有值匹配。我现在正在努力想办法。