Vba 无法检查范围是否为空
Excel2007 我卡住了Vba 无法检查范围是否为空,vba,Vba,Excel2007 我卡住了 Private Sub check_status_correctness(a_row) Dim status_col_rng As Range Dim status_val As String Dim found_status As Range Set status_col_rng = Sheets("Settings").Columns(2) status_val = Sheets(MAIN_SHEET).Cells(a
Private Sub check_status_correctness(a_row)
Dim status_col_rng As Range
Dim status_val As String
Dim found_status As Range
Set status_col_rng = Sheets("Settings").Columns(2)
status_val = Sheets(MAIN_SHEET).Cells(a_row, STATUS_COL)
Set found_status = status_col_rng.Find(status_val, LookIn:=xlValues, LookAt:=xlWhole)
If found_status Is Nothing Then
Call announce_error(a_row, STATUS_COL)
End If
End Sub
在断点处未找到任何状态。如果我仔细检查调试器中的find_状态,它似乎什么都没有。但就在那一刻,我发现你的身份并没有给我假
你能帮我理解怎么抓不到东西吗
您对
无任何内容的检查是正确的。如图所示,对象变量found\u status
不是空的(或者换句话说,是分配给某个范围的)
要检查是否指定了对象变量,请执行以下操作:
Set r = ActiveSheet.Range("A1")
If Not r Is Nothing Then
Debug.Print "r is assigned"
End If
您使用的代码是正确的,但根据您的硬拷贝,found\u status
不是空的吗?FunThomas,谢谢。你帮了我很多。如果你把这当作一个回答,我很乐意接受。
Set r = ActiveSheet.Range("A1")
If Not r Is Nothing Then
Debug.Print "r is assigned"
End If