我正在使用Excel并尝试创建一个命令按钮,该按钮将根据单元格的当前值在整个列中更新单元格中的值。
更具体地说,我有一个位置ID为整数的列。单击一下,我希望该列中包含值1或2的所有单元格都更改为10.然后,我想运行预先录制的排序宏。
我找到了关于级联If语句的信息,这似乎是关键。我认为以下内容可能会起作用,但它一直告诉我我有一个逻辑错误。
Private Sub CommandButton1_Click()
If Range("LocationID") = 1 Then
Range("LocationID") = 10
Else
If Range("LocationID") = 2 Then
Range("LocationID") = 10
End If
End Sub
位置是我试图搜索和更改的列。我还没有将我的排序宏添加到此中,因为我认为它与调用宏的任何其他按钮一样。
这可能是非常基本的,但VBA对我来说完全是陌生的。我整个早上一直在抨击这个问题。谢谢你的帮助!
答案 0 :(得分:0)
听起来你的意思是这样的:
Private Sub CommandButton1_Click()
Dim lRow As Long
lRow = 1
Do Until Range("A" & lRow) = ""
Select Case Range("A" & lRow)
Case 1, 2
Range("A" & lRow) = 10
End Select
lRow = lRow + 1
Loop
End Sub
注意:我只是猜到了它的A列。您需要将所有3个位置的值更改为具有所需值的列。