Excel VBA - 在列表中,如果单元格等于特定值

时间:2016-11-21 19:24:47

标签: excel vba excel-vba

我开始研究一些代码,它可以工作,但我觉得它可以更有效地完成。下面是它的一部分,以显示我正在做什么。为了简化这个想法,我已经在这里做了,所以如果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

0 个答案:

没有答案