目前设置此宏以便如果列G具有“上一个术语”和“好”或“好”并且“保持”彼此相邻,则07a将被输入到列I中的同一行。我想修改此代码,以便如果列G包含“最后一个术语”,并且列K包含任何组合或任何顺序的“好”和“结束”或“好”和“停留”,可能还有其他单词,之前,或者只要存在这两种不同的组合,就在它们后面,那么07a将被输入同一行的第一列。
子插件() Dim nRow As Long Dim iRow As Long
nRow = ActiveSheet.Cells(Rows.Count, "G").End(xlUp).Row
For iRow = 1 To nRow
With Cells(iRow, "G")
If .Text Like "Okay*" Or .Text Like "End*" Then
Cells(iRow, "I") = "07a"
If .Text Like "Okay*" Or .Text Like "Stay*" Then
Cells(iRow, "I") = "07a"
End If
End With
Next iRow
End Sub
答案 0 :(得分:1)
请尝试以下代码:
Sub Plugin()
Dim nRow As Long
Dim iRow As Long
Dim KUpperText As String
nRow = ActiveSheet.Cells(Rows.Count, "G").End(xlUp).Row
For iRow = 1 To nRow
KUpperText = UCase(Cells(iRow, "K").Text)
If UCase(Cells(iRow, "G").Text) Like UCase("Last Term*") Then
If ((KUpperText Like "*END*" And KUpperText Like "*OKAY*") _
Or (KUpperText Like "*STAY*" And KUpperText Like "*OKAY*")) Then
Cells(iRow, "I") = "07a"
End If
End If
Next iRow
End Sub
对于每个循环,我读取K列中的Text字符串。 它的格式为大写,以确保例如处理“结束”和“结束”。