variable valor una ultima tomar seleccionar rango macro hoja hasta desde datos con celda asignar activesheet activa excel vba

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