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公式吧