Macro para mostrar primera celda con datos con condicional dentro de un rango específico

Después de investigar varios días sin encontrar una solución, de nuevo recurro a los expertos en la materia. El problema es el siguiente:

En un rango tengo celdas con fórmulas que arrojan cero o espacios en blanco. Deseo mostrar en otra celda el primer valor con datos (de arriba hacia abajo) diferente de cero y espacio en blanco. De nuevo mil gracias

1 Respuesta

Respuesta
1

Actualiza la información en la macro

Sub Mostrar()
'Por.Dante Amor
    fila = 2        'fila inicial de datos
    col = "D"       'columna de datos
    celda = "E2"    'Celda para poner el resultado
    Do While Cells(fila, col) = "" Or Cells(fila, col) = 0
        fila = fila + 1
    Loop
    Range(celda) = Cells(fila, col)
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

De nuevo mil Gracias! Dante, como siempre valiosa tu ayuda!

Si ya no tienes dudas, apreciaría que cambiaras la valoración de la respuesta.

Me acabo de percatar que cuando no hay datos que mostrar en la columna da error 1004 y al depurar va directo a esta línea de código: 

  Do While Cells(fila, col) = "" Or Cells(fila, col) = 0

¿No hay datos en ninguna de tus columnas?

¿Al menos alguna columna tiene datos?

¿En la columna "Resta" tienes fórmulas? ¿Alguna fórmula tiene error?

Si la hoja está completamente en blanco, ¿entonces deberías ejecutarse la macro?


En tu pregunta original no pusiste varios datos importantes para la macro, ni la columna, ni la fila, ni la celda destino, en fin, es difícil completar la macro.

Si pones el ejemplo completo de tu hoja, podré actualizar la macro.

¡Gracias! Indagué en el error y conseguí la falla. Deje tu código igual, sólo le agregue una condición para antes. Gracias de nuevo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas