我需要一些帮助来理解和修改我在this answer中找到的一些代码:
Sub Main()
Dim cell As Range
Dim nextRow As Long
For Each cell In Range("K50:K200")
If StrComp(cell, "Late", vbTextCompare) = 0 Then
nextRow = Range("J" & Rows.Count).End(xlUp).Row + 1
Range("J" & nextRow) = Range("B" & cell.Row)
Range("K" & nextRow) = Range("C" & cell.Row)
Range("N" & nextRow) = Range("G" & cell.Row)
Range("O" & nextRow) = Range("H" & cell.Row)
End If
Next
End Sub
我想要的是:
late
与其他一些词语一起提及,请说late submit
,复制B
中的值并粘贴J
K
有progress
并且说in progress
,请将C
中的值复制到K
sick
说on sick leave
,请将G
中的值复制到N
我努力了,但我仍然没有成功修改这段代码以满足我的需求。
答案 0 :(得分:0)
如果迟到还有其他一些话,请说迟到
在这种情况下,请使用StrComp
Instr
If Instr(1, cell, "Late", vbTextCompare) > 0 Then
其他类似。
如果你查看Excel的帮助,你会注意到Instr返回一个Variant(Long),指定第一次出现的一个字符串在另一个字符串中的位置。
<强>语法强>
InStr([start,] string1,string2 [,compare])