【问题标题】:Excel Multiple Word Replacement in StringExcel字符串中的多个单词替换
【发布时间】:2014-03-24 15:47:17
【问题描述】:

祝大家今天好!

我正在做一个 excel 项目,我正在寻求帮助。我不介意这是通过公式还是脚本来解决的。

首先,我将提供全局。我有一大堆从不同位置调用各种字段的 SQL 查询。这些字段标题现已更改。我想用字段的新名称更新 SQL 查询。因此,我打算将所有查询复制到一个 Excel 电子表格中,然后在字符串中查找字段名称,并将它们替换为另一张表中的新字段名称。问题是每个查询大约有 10 个字段名称需要替换。

所以这就是我的想法。本质上,如果我在单元格 A1 中有一个字符串,上面写着:“我们是最好的”。对于字符串中存在的每个单词,我想检查它是否存在于另一张表的表中。如果表中存在该单词,请将其替换。如果不是,则继续下一个单词。对单元格中的每个单词继续。

非常感谢您提供的任何帮助。提前致谢!

【问题讨论】:

  • 我认为替换词是在另一张表中定义的?
  • 是的,替换词将在另一张表中定义。我将 A 列与原件和 B 列与新词。

标签: mysql sql vba excel


【解决方案1】:

考虑:

Sub FixIt()
    Dim r As Range, A As Range
    Dim s1 As Worksheet, s2 As Worksheet
    Set s1 = Sheets("Sheet1")
    Set s2 = Sheets("Sheet2")
    Set A = s1.Range("A:A").Cells.SpecialCells(xlCellTypeConstants)
    For Each r In A
        v = " " & r.Value & " "
        For j = 1 To 10
            oldv = " " & s2.Cells(j, 1).Text & " "
            newv = " " & s2.Cells(j, 2).Text & " "
            v = Replace(v, oldv, newv)
        Next j
        r.Value = Trim(v)
    Next r
End Sub

在此示例中,替换表在 Sheet2 中,单元格 A1 到 B10.............我用“空格”填充以确保整个单词替换并避免需要 拆分和加入

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2021-05-01
    • 2018-08-05
    • 1970-01-01
    • 2016-08-29
    • 2019-01-29
    • 1970-01-01
    相关资源
    最近更新 更多