搜索

excel 批量替换保留某些内容

发布网友 发布时间:2022-02-23 11:54

我来回答

4个回答

热心网友 时间:2022-02-23 13:23

方法一:公式

假设内容在A2—A4单元格,则在B2单元格输入:

下拉,完成

方法二:VBA

按Alt+F11,进入VBA编辑界面,左上角【工程】栏空白处右键,插入-模块,复制粘贴以下代码并相应修改,按F5键运行即可实现一次替换。

Sub replaceThem()
  colIdxBefore = 1  '需替换内容所在列
  colIdxAfter = 1   '替换后内容所在列
  
  Dim oldWords As String   '待替换字符,用|分隔
  Dim newWords As String   '替换后字符,用|分隔
  
  oldWords = "他跑了|米"
  newWords = "He ran | meters"
  
  With Worksheets(2)  '这里指定要操作的工作表
    For i = 2 To .UsedRange.Rows.Count
      .Cells(i, colIdxAfter).Value = repStr(.Cells(i, colIdxBefore).Value, oldWords, newWords)
    Next
  End With
End Sub

Function repStr(myStr As String, oldstr As String, newstr As String)
  
  spl = "|"  '分隔符
  os = Split(oldstr, spl)   '需替换内容,用|分隔
  ns = Split(newstr, spl)   '替换后内容,用|分隔
  
  uos = UBound(os)
  uns = UBound(ns)
  
  If uos = uns Then   '判断 替换内容 与 替换后内容 数量是否相同
    For i = 0 To UBound(os)
      myStr = replace(myStr, os(i), ns(i))
    Next
    repStr = myStr
  Else
    MsgBox "被替换字符有 " & uos & " 组,而替换字符有 " & uns & " 组。" & vbCrLf & "请检查!"
    Exit Function
  End If
End Function

热心网友 时间:2022-02-23 14:41

在I1中输入公式:
=SUBSTITUTE(B1,$A1,$H1)
向右拖,向下拖复制公式,A列到F列的数据中含A列的签字被替换为H列的字符。
如果要把数据还是放在A列到F列,则复制公式得到的数据,鼠标定位到A1,右键——选择性粘贴——数值。

热心网友 时间:2022-02-23 16:16

还不如直接替换得了,本来是件简单的事情。没必要弄得那么麻烦

热心网友 时间:2022-02-23 18:07

用SUBSTITUTE公式吧
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top