搜索单元格包含文本,并在Excel中替换为字母

时间:2014-04-02 03:03:46

标签: excel excel-vba vba

我需要一个Excel宏,用一个代表的字母替换单元格。例如,在最初的单元格中,我有以下文本:9x10 Deck,3x6 Beam和12"杆和我需要移除它并用" D" (适用于9x10甲板)," B" (对于3x6光束)和" P" (12"极点)。

我一次只能运行一个参数,下面是代码,它完成了工作,但似乎没有做到正确。

我想运行宏来搜索包含" Beam"," Pole"," Deck"并用相应的字母替换单元格,例如" B"," P"。

Sub CleanUp()
Dim r As Range
Dim s As String, v As String
s = "D"
For Each r In ActiveSheet.UsedRange
    v = r.Text
    If InStr(1, v, s) > 0 Then
        r.Value = s
    End If
Next r 
End Sub 

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

A           B   C   D   E   F 
9x10 Deck       D           D
3x6 Beam            B       B
12" Pole                P   P
2x4 strut                   

因为下面的查找或搜索可以处理多个函数(如果不存在则总是返回#value)我会创建4列并将它们连接在一起。

每个字母的公式都是这样的:

=IFERROR(IF(FIND("D",A1),"D",""),"")

然后总结一下:

=CONCATENATE(C1,D1,E1)