我要在四列中更改数据。它们是供应商代码,每个代码都有特定的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
答案 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-else
或Select 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