IF声明更改代码

时间:2013-11-21 15:39:27

标签: excel vba

我要在四列中更改数据。它们是供应商代码,每个代码都有特定的PIC,LS_Name,供应商代码和组。我一直试图写一个IF语句做同样的事情,但我有一些不合适的地方。我的错误在哪里?

Sub Change_Codes()

Dim Range As Range
Range = ("E2:E3000")

If Range = "MU999" Then Range = "R. Martinez"
 End If

End Sub

1 个答案:

答案 0 :(得分:0)

我不确定您要实现的目标,但这是在第E列第3行和第3行中使用R. Martinez替换文本MU999的一种方法

Sub Main()

    Dim c As Range
    For Each c In Range("E2:E3000")
        If StrComp(c, "MU999", vbTextCompare) = 0 Then
            c = "R. Martinez"
        End If
    Next

End Sub

因此,如果您有更多条件,可以使用If-elseSelect Case

If-else example

Sub Main()

    Dim c As Range
    For Each c In Range("E2:E3000")
        If StrComp(c, "MU999", vbTextCompare) = 0 Then
            c = "R. Martinez"
        ElseIf StrComp(c, "MU111", vbTextCompare) = 0 Then
            c = "replaced with M. Martinez"
        ElseIf StrComp(c, "MU666", vbTextCompare) = 0 Then
            c = "666 is not evil!"
        End If
    Next

End Sub

Select case

Sub Main()

    Dim c As Range

    For Each c In Range("E2:E3000")

        Select Case UCase(c)
            Case "MU999"
                c = "R. Martinez"
            Case "MU111"
                c = "replaced with M. Martinez"
            Case "MU666"
                c = "666 is not evil!"
        End Select
    Next
End Sub