excel - valor - seleccionar rango variable vba
Comprobando#N/A en la celda de Excel desde el código VBA (1)
Estoy iterando a través de un rango de celdas que contienen números con 2 decimales. Necesito comprobar si la celda contiene ''# N / A'', y si lo hace, necesito omitirlo. El problema es que cuando una celda tiene un número válido, mi condición if a continuación arroja un ''Error de discrepancia de tipo''. ¿Cómo puedo evitar esto?
If (ActiveWorkbook.Sheets("Publish").Range("G4").offset(offsetCount, 0).Value <> CVErr(xlErrNA)) Then
''do something
End If
Primero compruebe si hay un error (valor N / A) y luego pruebe la comparación con cvErr (). Está comparando dos cosas diferentes, un valor y un error. Esto puede funcionar, pero no siempre. Simplemente emitir la expresión a un error puede generar problemas similares, ya que no se trata de un error real, solo el valor de un error que depende de la expresión.
If IsError(ActiveWorkbook.Sheets("Publish").Range("G4").offset(offsetCount, 0).Value) Then
If (ActiveWorkbook.Sheets("Publish").Range("G4").offset(offsetCount, 0).Value <> CVErr(xlErrNA)) Then
''do something
End If
End If