averiguar si una celda está vacía

4 envíos / 0 nuevos
Último envío
DudaPorEmail
Imagen de DudaPorEmail
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntos
alta: 15/10/2013 - 07:56
Puntos: 823
averiguar si una celda está vacía

me gustaría comentarte un problema que tengo con la función de VBA en una macro que estoy haciendo para Excel:

Application.WorksheetFunction.VLOOKUP(lookup_value, table_array, column_index, range_lookup)

http://www.exceltrick.com/formulas_macros/vlookup-in-vba/

 

El problema consiste en que necesito tener una forma de enterarme que la celda está vacía, para poner un valor especial en el post-proceso y no un 0 como me devuelve la función. Necesito una función del tipo CeldaNoVacía:

 

lookupvalue = Application.VLookup(dato, lookupRange, 1 + 2 * i + 2 * (posicion - 1), False)

If < CeldaNoVacía >

valorbuscado2 = CDbl(lookupvalue)

Else

     valorbuscado2 = -255

End If

 

Gracias por la ayuda.

Cron
Imagen de Cron
Offline
última acción: Hace 3 meses 2 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12725
Re: averiguar si una celda está vacía

¿Qué tal algo así como...

 

If cells(x,y).value <> "" then...

 

?

 

 

Saludos

visitante (no verificado)
Imagen de visitante
Re: averiguar si una celda está vacía

No conozco la posición (x,y) de la celda encontrada por la función de búsqueda dentro de una tabla de datos Excel que está dentro de una hoja de cálculo.

 

Sería bueno poder averiguarlo.

 

Saludos

Cron
Imagen de Cron
Offline
última acción: Hace 3 meses 2 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12725
Re: averiguar si una celda está vacía

Eso lo puedes hacer con un bucle.

Si sabes la columna, puedes fijarla y recorrer con un bucle la columna hasta el punto que te interese.

 

Por ejemplo, para recorrer la columna A desde la 5ª fila hasta la 500 podrías hacer:

 

for a = 5 to 500

If cells(a,1).value = "" then cells(a,2).value = "Aquí hay un vacío"

next

 

En este caso, escribiría el texto en la columna B.

 

Si no conoces el último valor, podrías averiguarlo con algún tipo de fórmula tipo COUNTA(A:A) o algo parecido.

 

Saludos