Almacenar datos de un rango de una hoja 1 a la hoja 2 (Continuación 2)

De ante mano Agradezco a todos los Expertos por este Blog y en especial al Master Luis por apoyarme en este código.

El código me sirvió ala perfección y es este que función muy bien

Private Sub cmdCopiardatos _Click ()

Sheets("Captura").Select

Range("A11:I33").Copy

Sheets("1").Range("A65000").End(xlUp).Offset(1,0).PasteSpecial Paste:=xlValues

End Sub

Como comento este código me sirvió pero no tome en cuenta que en ocasiones no va estar lleno todo este rango por lo tanto algunas filas no tendrán datos ( aclaración todas las columnas deberán estar con datos el problema es que en ocasiones no todas las filas estarán llenas algunas veces solo serán 5 filas y otras todo el rango o las 22 filas)

mi pregunta es ¿como puedo hacerle para que me tome en cuenta el rango seleccionado pero me copie o me pegue solo filas o celdas con datos?

Espero Puedan Ayudarme Gracias

Respuesta
1

Del mismo modo que se encuentra la última fila con datos para el pegado, debes utilizarla para el copiado:

Private Sub cmdCopiardatos _Click ()
Sheets("Captura").Select
Range("A11:I" & Range("A65536").End(xlup).Row).Copy
Sheets("1").Range("A65000").End(xlUp).Offset(1,0).PasteSpecial Paste:=xlValues
End Sub

Hola Master Elsa gracias por tomar mi pregunta, ya había intentado este código con ayuda del experto LuisMondeo y por eso lo cambiamos a este ultimo que mostré en esta pregunta, el problema que me tope con este código que usted me envío fue que al darle el rango de ("A11:I" & Range("A65536") me selecciona para copiar de A11:I35 y necesito solo A11:I33 por que después de esas filas van datos que no me interesa copiar y claro también necesito que me copie solo las celdas con datos y no me incluya las vacías.

Master Elsa Le incluyo mi link del archivo para vea el proceso que hace cuando le doy click en el botón de copiar, le agradecería pudiera orientarme

https://docs.google.com/open?id=0B8C6UZpWi9OOTEJmTkRmNWNQdEU

De ante mano muchísimas Gracias

En ese caso, en lugar de tomar desde la última de la hoja tomá desde la última disponible:

Range("A11:I" & Range("A34").End(xlUp).Row).Copy

También agregá esta al final para quitar el modeo de copiado:

Application.CutCopyMode = False



Gracias Muchísimas Gracias, efectivamente era solo de indicar la ultima fila disponible, desafortunadamente uno no sabe bien como aplicar las reglas de la programación VBA por eso muchas veces no nos salen las cosas o eventos, espero seguir aprendiendo con la dedicación y claro por supuesto con la ayuda altruista de ustedes por eso una ves mas gracias y cierro la pregunta.

Oskar

Quiero ser Publica mi Agradecimiento a mis dos grandes Master que me han apoyado:

Experto Elsa Matilde Muchísimas Gracias

Experto Luis Mondeo Gracias También por el primer auxilio que me brindo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas