我开始研究一些代码,它可以工作,但我觉得它可以更有效地完成。下面是它的一部分,以显示我正在做什么。为了简化这个想法,我已经在这里做了,所以如果M列中的单元格是A,B或C,它在列L中放置1。如果列M是D,E或F,则放置2在列L中。如果列M是G,H或I,则在列L中放置3。
有没有比我这样做更容易的方法呢?我将要处理几百个可能的值。
Sub ChangeTest()
Dim LastRow As Long
Dim i As Long
LastRow = Range("M" & Rows.Count).End(xlUp).Row
For i = 2 To LastRow
If Range("M" & i).Value = "A" Or Range("M" & i).Value = "B" Or Range("M" & i).Value = "C" Then
Range("L" & i).Value = "1"
End If
If Range("M" & i).Value = "D" Or Range("M" & i).Value = "E" Or Range("M" & i).Value = "F" Then
Range("L" & i).Value = "2"
End If
If Range("M" & i).Value = "G" Or Range("M" & i).Value = "H" Or Range("M" & i).Value = "I" Then
Range("L" & i).Value = "3"
End If
Next i
End Sub