Como hacer para que una celda con fórmula no tenga nada.

12/02/2008 - 14:35 por GRIEGO59 | Informe spam
Hola!
Tengo la siguiente macro suministrada en este grupo.

'Para copiar los valores de la factura en la hoja compras
Worksheets("Factura").Range("M7:AC22").Copy
Worksheets("Compras").Range("a65536").End(xlUp) _
.Offset(1).PasteSpecial xlPasteValues
Application.CutCopyMode = False

El rango M7:M22 viene de esta fórmula:
=SI(C7="";"";P$3)
=SI(C8="";"";P$3) ...

La macro funciona bien, solo que el comando .End(xlUp) toma los valores
"nada" del rango M7:M22 (que se copian en la columna "A" de la hoja
"Compras") como si hubiesen valores y por consiguiente cuando se hacen varias
copias, deja líneas en blanco.

Siempre si el rango M7:M22 debe tener líneas vacías. Pero para el comando
.End(xlUp) no son líneas en blanco y para la próxima copia, pues deja líneas
en blanco.

Se puede solucionar esto?

Gracias

Darío

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
12/02/2008 - 23:11 | Informe spam
hola, Darío !

prueba a modificar la instruccion donde determinas el rango a copiar de la hoja "factura" +/- asi:

de: -> Worksheets("Factura").Range("M7:AC22").Copy
a:

op1: en el caso de que al no estar vacia la columna C, el dato en P$3 sea un valor numerico...
With Worksheets("factura")
.Range("m7:ac7").Resize(Application.Count(.Range("m7:m22"))).Copy
End With

op2: en el caso de que el contenido de P$3 sea un dato alfabetico...
With Worksheets("factura")
.Range("m7:ac7").Resize(16 - Application.CountIf(.Range("m7:m22"), "")).Copy
End With

saludos,
hector.

__ la consulta original __
Tengo la siguiente macro suministrada en este grupo.
'Para copiar los valores de la factura en la hoja compras
Worksheets("Factura").Range("M7:AC22").Copy
Worksheets("Compras").Range("a65536").End(xlUp) _
.Offset(1).PasteSpecial xlPasteValues
Application.CutCopyMode = False

El rango M7:M22 viene de esta formula:
=SI(C7="";"";P$3)
=SI(C8="";"";P$3) ...

La macro funciona bien, solo que el comando .End(xlUp) toma los valores "nada" del rango M7:M22
(que se copian en la columna "A" de la hoja "Compras") como si hubiesen valores
y por consiguiente cuando se hacen varias copias, deja lineas en blanco.

Siempre si el rango M7:M22 debe tener lineas vacias.
Pero para el comando .End(xlUp) no son lineas en blanco y para la proxima copia, pues deja lineas en blanco.

Se puede solucionar esto?
Respuesta Responder a este mensaje
#2 GRIEGO59
13/02/2008 - 13:26 | Informe spam
Hola, hector !
Mil gracias,
Funciona muy bien!
Te debo varias.

Saludos,
Darío.

"Héctor Miguel" escribió:

hola, Darío !

prueba a modificar la instruccion donde determinas el rango a copiar de la hoja "factura" +/- asi:

de: -> Worksheets("Factura").Range("M7:AC22").Copy
a:

op1: en el caso de que al no estar vacia la columna C, el dato en P$3 sea un valor numerico...
With Worksheets("factura")
.Range("m7:ac7").Resize(Application.Count(.Range("m7:m22"))).Copy
End With

op2: en el caso de que el contenido de P$3 sea un dato alfabetico...
With Worksheets("factura")
.Range("m7:ac7").Resize(16 - Application.CountIf(.Range("m7:m22"), "")).Copy
End With

saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida