编译/运行没有任何好处

时间:2015-11-05 14:35:41

标签: excel vba excel-vba

大家好我完成了这段代码,但是当我运行它时没有任何反应,这是我用vba的第一个代码。

Private Sub CommandButton1_Click()
    Dim i As Integer
    Dim j As Integer
    N = Range("A").End(xlUp).Select
    M = Range("B").End(xlUp).Select
    Application.EnableEvents = False

    For i = 1 To N

        If Cells(i, "A").Value = "2015 Xor 2011" Then
            Cells(j, "B").Value = "blue"

        ElseIf Cells(i, "A").Value = "2001 Xor 2003" Then
            Cells(j, "B").Value = "green"

        ElseIf Cells(i, "A").Value = "2014 Xor 2006" Then
            Cells(j, "B").Value = "red"
            j = j + 1

        End If
    Next
    Application.EnableEvents = True

End Sub

1 个答案:

答案 0 :(得分:0)

您需要编辑NM整数的设置方式。看起来您想要获取范围中的最后一行,因此您将.select.row切换,而不是使用Range("A")(这不起作用),请选择列A和B中的最后一个单元格,然后使用等效的 CTRL + UP 来获取最后一行。

    N = Cells(rows.count,1).End(xlUp).Row
    M = Cells(rows.count,2).End(xlUp).Row

您尚未将NM设置为任何内容。使用.Select只选择单元格,而不一定将数值应用于该变量。以上应该有效,但如果没有,请告诉我!