大家好我完成了这段代码,但是当我运行它时没有任何反应,这是我用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
答案 0 :(得分:0)
您需要编辑N
和M
整数的设置方式。看起来您想要获取范围中的最后一行,因此您将.select
与.row
切换,而不是使用Range("A")
(这不起作用),请选择列A和B中的最后一个单元格,然后使用等效的 CTRL + UP 来获取最后一行。
N = Cells(rows.count,1).End(xlUp).Row
M = Cells(rows.count,2).End(xlUp).Row
您尚未将N
或M
设置为任何内容。使用.Select
只选择单元格,而不一定将数值应用于该变量。以上应该有效,但如果没有,请告诉我!