我想将IF
公式转换为VBA代码:
我有"字母数字字符串255 max char"在列" Q"中使用基于注释的描述; 我有一个空白栏" R"
" R2"中的公式
=IF(ISNUMBER(SEARCH("sc",Q2)),"Service Call","")
我有大约39,000行来执行此操作,这就是我想在VBA中尝试的原因。
如果我需要不同的实例,代码应该是什么?
=IF(ISNUMBER(SEARCH("sp",Q2)),"Springs","") **Multiple conditions for ...
=IF(ISNUMBER(SEARCH("Amarr",Q2)),"Door","") **Multiple conditions for ...
答案 0 :(得分:0)
以下代码应该做你想要的。
Sub ColQtoColR()
Dim FirstRow, LastRow, RowCount As Long
Dim GCell As Range
FirstRow = 2
LastRow = 39000
For RowCount = FirstRow To LastRow
Set GCell = Cells(RowCount, 17)
If InStr(GCell, "sc") = 1 Then
GCell.Offset(0, 1).Value = "Service Call"
ElseIf InStr(GCell, "sp") = 1 Then
GCell.Offset(0, 1).Value = "Springs"
ElseIf InStr(GCell, "Amarr") = 1 Then
GCell.Offset(0, 1).Value = "Door"
Else
GCell.Offset(0, 1).Value = ""
End If
Next RowCount
End Sub
可以轻松添加更多条件,并且可以更改处理的行数。我的旧笔记本电脑只需要几秒钟就能运行。如果Q列中的文本中存在其中两个字符串,那么它将匹配最后一个测试字符串。