【问题标题】:Substitute text in excel替换excel中的文本
【发布时间】:2013-06-04 20:37:26
【问题描述】:

我有一个 Excel 工作表,其中一些单元格包含缩写,例如 SC、FEW、... 后跟一个数字。例如 SC058 或 FEW01,有些单元格包含其中两个或三个的组合,即 FEW004 SC044。 我想替换每个缩写词,而不管通过值附加到它们的数字是多少。例如,我希望将所有“FEW004、FEW056、...”替换为数字“5”等。

由于数据库很大,有什么建议吗?

谢谢

【问题讨论】:

  • 如果缩写没有太多变化(例如,仅以“S”、“F”和“C”开头,则进行常规搜索并用通配符替换(例如,“F*”、“ S?????") 可能就足够了。如果没有,可以使用更复杂的字符串解析或正则表达式方法。
  • 这将替换整个单元格。例如,包含 SCT022 BLK038 的单元格将全部替换为单个值
  • 只是想弄清楚你的数据。像“SC???”之类的东西或“很少???”不会替换整个单元格,但话又说回来,您可能有太多可能的 alpha 代码需要手动处理。您对正则表达式方法感兴趣吗?

标签: excel replace substitution


【解决方案1】:

我制作了一个可以进行一种替换的快速示例(您将任何“FEW”更改为“5”的示例),希望它有一些用处:

Sub substitute_abb()

theData = ActiveCell.Value
theNewData = ""

theDataArray = Split(theData, " ")

For Each x In theDataArray
    If InStr(x, "FEW") Then
        newSegment = "5"
        Else
        newSegment = x
    End If
    If theNewData = "" Then
        theNewData = newSegment
        Else
        theNewData = theNewData & " " & newSegment
    End If
Next

ActiveCell.Value = theNewData

End Sub

我意识到对于拆分分隔符,您可能想要“,”,而不仅仅是“”,然后再在 theNewData 组合上,您可能想要“,”。当然,这需要扩展到其他替代品。这是一个好的开始吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    • 2022-12-08
    • 1970-01-01
    • 2021-04-27
    相关资源
    最近更新 更多