我正在尝试遍历价格列以查看该单元格是否有价格。如果它是空的,那么我希望它弹出一个没有价格的消息框,如果有价格,请调用传输数据代码。现在,我无限循环通过消息框。到目前为止,这是我的代码:
Private Sub Check_Price_Click()
'Declared variable to read the specific column
Dim N As Long, i As Long, j As Long
N = Cells(Rows.Count, "BB").End(xlUp).Row
j = 2
For i = 2 To N
If IsEmpty(Cells(i, "BB")) Then
MsgBox ("There is no Price")
Else
Call Transfer_data_Click
End If
Next i
End Sub
答案 0 :(得分:0)
如果您的数据在第10行结束,那么最后一个价格在BB10
,那么您可能希望上面的代码运行9次 - 对于第2行到第10行。在一个全新的电子表格中,它只能运行对我而言很好,但如果这不是一个全新的电子表格,那么开始完全按照你描述的方式进行操作将非常简单。
如果我下到第20行并在单元格BB20
中键入一个空格,它将从2到20循环,10之后的所有内容都会显示弹出消息。如果你的单元格看起来是空的,但不是列表,那么它似乎是一个无限循环。
是否有另一列始终有数据?如果是这样,我建议如下:
(在此示例中,我使用列BA
作为我的列,它始终包含数据。)
Sub example()
Dim n As Range
Set n = Range("BB2")
'Loop as long as the length of the value in column BA is greater than 0
Do While Len(Cells(n.Row(), "BA").Value) > 0
If IsEmpty(n) Then
MsgBox ("There is no Price")
Else
Call Transfer_data_Click
End If
'set n as the cell under the current n
Set n = n.Offset(1, 0)
Loop
End Sub