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.
¿Qué tal algo así como...
If cells(x,y).value <> "" then...
?
Saludos
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
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