搜索#N/A!在 sheet 中,如果找到则在 msgbox 中,如果找不到则在其他子目录中
Search for #N/A! in a sheet, msgbox if found, other sub when not found
努力通过子程序在 sheet 中搜索 #N/A!或者#REF!错误。
当至少发现一个错误时,它必须弹出一个消息框。如果没有错误,应该执行其他子 - sprzedaz2.
只要至少有一个错误,就没问题。但是对于一个没有错误的 sheet,它坏了,我想不出解决办法。
我目前拥有的:
Sub X_SPR_sprawdzbledy()
Application.Goto Workbooks("generator_komunikatow.xlsm").Sheets("komunikat_OS_sprzedaz").Range("a1")
On Error Resume Next
On Error GoTo 0
If Sheet1.UsedRange.SpecialCells(xlCellTypeFormulas, xlErrors).Cells.Count = 0 Then
Call sprzedaz2
Else:
MsgBox ("UWAGA! Znaleziono " & Sheet1.UsedRange.SpecialCells(xlCellTypeFormulas, xlErrors).Cells.Count & " bledow!" & vbNewLine & vbNewLine & "SPRAWDZ KOMORKI Z #N/A! lub #REF!")
End If
End Sub
主要问题:如果 SpecialCells
没有找到任何东西(在你的情况下,没有错误的单元格),它会抛出一个运行时错误,你需要捕获这个错误(范围永远不能有 0细胞)。以下代码将 SpecialCells
的结果分配给一个变量。如果因为找不到任何东西而失败,则变量保持未分配状态,这意味着它仍然保持 Nothing
.
Dim errorCells As Range
On Error Resume Next
Set errorCells = Sheet1.UsedRange.SpecialCells(xlCellTypeFormulas, xlErrors).Cells
On Error GoTo 0
If errorCells Is Nothing Then ' No errors in cells
Call sprzedaz2
Else
MsgBox "UWAGA! Znaleziono " & errorCells.Count & " bledow!" & vbNewLine & vbNewLine & "SPRAWDZ KOMORKI Z #N/A! lub #REF!"
End If
N.B。在 Else
...
之后去掉 :
努力通过子程序在 sheet 中搜索 #N/A!或者#REF!错误。 当至少发现一个错误时,它必须弹出一个消息框。如果没有错误,应该执行其他子 - sprzedaz2.
只要至少有一个错误,就没问题。但是对于一个没有错误的 sheet,它坏了,我想不出解决办法。
我目前拥有的:
Sub X_SPR_sprawdzbledy()
Application.Goto Workbooks("generator_komunikatow.xlsm").Sheets("komunikat_OS_sprzedaz").Range("a1")
On Error Resume Next
On Error GoTo 0
If Sheet1.UsedRange.SpecialCells(xlCellTypeFormulas, xlErrors).Cells.Count = 0 Then
Call sprzedaz2
Else:
MsgBox ("UWAGA! Znaleziono " & Sheet1.UsedRange.SpecialCells(xlCellTypeFormulas, xlErrors).Cells.Count & " bledow!" & vbNewLine & vbNewLine & "SPRAWDZ KOMORKI Z #N/A! lub #REF!")
End If
End Sub
主要问题:如果 SpecialCells
没有找到任何东西(在你的情况下,没有错误的单元格),它会抛出一个运行时错误,你需要捕获这个错误(范围永远不能有 0细胞)。以下代码将 SpecialCells
的结果分配给一个变量。如果因为找不到任何东西而失败,则变量保持未分配状态,这意味着它仍然保持 Nothing
.
Dim errorCells As Range
On Error Resume Next
Set errorCells = Sheet1.UsedRange.SpecialCells(xlCellTypeFormulas, xlErrors).Cells
On Error GoTo 0
If errorCells Is Nothing Then ' No errors in cells
Call sprzedaz2
Else
MsgBox "UWAGA! Znaleziono " & errorCells.Count & " bledow!" & vbNewLine & vbNewLine & "SPRAWDZ KOMORKI Z #N/A! lub #REF!"
End If
N.B。在 Else
...
: