Buenas tardes,
sigo con mis dudas con las macros (ya queda menos!):
El tema es que tengo una macro que se decide a copiar x filas de una columna de una hoja de excel a otra (mismo fichero).
El caso es que hay veces que la celda origen està vacía (si ningun valor) y al copiarla a la celda destino la copia con el valor 0. Debido a que a veces la origen puede ser 0, tengo que diferenciar estos dos casos.
El caso es que para copiar de la celda origen a la destino, copio en la celda actual (hoja2) el valor que tiene la celda que me interesa de la hoja1. El codigo es este:
For z = 1 To 32
__tmp = "='Hoja1'!" + columna + CStr(z)
__if tmp = "" then
____ ActiveCell = ""
__else
____ActiveCell = "='Hoja1'!" + columna + CStr(z)
__endif
__ActiveCell.Offset(1, 0).Select
next z
Apunte: columna + CStr(z) es el equivalente a la celda origen, por ejemplo A1
En este caso, tmp siempre es "='Hoja1'!" + columna + CStr(z)
El caso es que me gustaria que tmp fuera la evaluación de "='Hoja1'!" + columna + CStr(z) es decir, el valor que hay en "='Hoja1'!" + columna + CStr(z) pero no la cadena en si, para luego poder evaluar si tmp es una cadena vacía o bien 0 y actuar en consecuencia.
Si estuviera sin macros en una hoja excel cualquiera, si la celda A1 está vacía, conseguiría mi objectivo poniendo en B1: SI(A1="";"";"no vacio"), lo que me daria "" en B1.
Espero que entiendan mi problemática.
Muchas gracias.