Saltar al contenido

copiar y guardar hoja como valor de celda


lfgf37

Recommended Posts

publicado

Hola, hasta ahora me habeis ayudado gracias a las solicitudes de otros.

Ahora tengo un problema.

Tengo un libro con datos entrelazados y necesito una macro que me copie solo los datos de dos de las hojas y me cree un libro nuevo con el nombre de una de las celdas.

Solo necesito que copie los datos, no las formulas, ni macros, solo los valores que contiene.

Esto es lo que he probado para una de las hojas pero me da error.

Sub Copiar_Y_Guardar()

Sheets("FACTURAS").Copy
ActiveWorkbook.SaveAs "C:\Users\Desktop\cliente\" & Range("J2") & ".xls"
ActiveWorkbook.Close False

End Sub[/CODE]

Esto lo tengo que hacer con dos hojas del libro a la vez y guardarlas en el mismo libro nuevo.

publicado

Perdon. por no haber subido el ejemplo

Pretendo que la hoja "FACTURAS" recoja el valor de la celda"J2" que es la concatenacion del nº factura-nombre cliente y fecha de emision de la misma.

Asi mismo la hoja de "FIRME" asi como la de "COMISION" y me cree y me cree un libro nuevo cuyo nombre sea el valor de la celda "J2" con los valores de estas tres hojas.

Solo los valores, sin formulas ni macros.

Muchas gracias por el interes que te has tomado

COMISIONES1.rar

publicado

Vamos a ver, resumiendo:

Quieres que pulsando un botón se cree un libro nuevo con el nombre del valor de la celda:

FACTURAS!J2 + ".xls", con las hojas:

FACTURAS, FIRME y COMISION.

¿ Es eso ?

publicado

Disculpa Macro Antonio el no haberte contestado antes, pero acabo de llegar de trabajar.

Bien, eso que me preguntas e lo que quiero.

Me cree un libro nuevo cuyo nombre sea el valoe de Factura!J2 + xls y que las hojas que contenga sean FACTURAS, FIRME Y COMISION, pero sin formulas solo los valores que contiene el origen (valores, formato e imagenes)

Garcias nuevamente por tu interes y preocupacion

publicado

Hola:

Te adjunto macro CopiarFactura que hace lo que pides.

Coloca el siguiente código en un módulo:

Dim Nuevo As Workbook

Sub CopiarFactura()
Application.EnableEvents = False


'Añadimos libro
Workbooks.Add
Set Nuevo = ActiveWorkbook


'Copiamos formato hoja COMISION
Sheets.Add.Name = "COMISION"
ThisWorkbook.Worksheets("COMISION").Cells.Copy
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteFormats


'Copiamos formato hoja FACTURAS
Sheets.Add.Name = "FACTURAS"
ThisWorkbook.Worksheets("FACTURAS").Cells.Copy
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteFormats


'Copiamos formato hoja FIRME
Sheets.Add.Name = "FIRME"
ThisWorkbook.Worksheets("FIRME").Cells.Copy
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteFormats


'Copiamos los valores
CopiarValores "COMISION"
CopiarValores "FACTURAS"
CopiarValores "FIRME"


Application.EnableEvents = False


'Guardamos el libro y cerramos
Nuevo.SaveAs ThisWorkbook.Path & _
"\" & ActiveWorkbook.Worksheets("FACTURAS").Range("J2") & ".xls"
Nuevo.Close
End Sub


Private Sub CopiarValores(Hoja As Variant)
Application.ScreenUpdating = False


ThisWorkbook.Activate
ThisWorkbook.Sheets(Hoja).Select
For Each celda In ActiveSheet.UsedRange
Nuevo.Sheets(Hoja).Range(celda.Address).Value = celda.Value
Next


End Sub


[/CODE]

Saludos

publicado

Macro Antonio........ERES UN GENIO

Acabo de llegar de trabajar, he mirado, he visto tu respuesta, la he probado, he cambiado

ThisWorkbook.Activate

ThisWorkbook.Sheets("FACTURAS").Select

For Each celda In ActiveSheet.UsedRange

Nuevo.Sheets("FACTURAS").Range(celda.Address).Value = celda.Value

Next

Y HA FUNCIONADO A LA PRIMERA....

Solo una cosa, me deja seleccionadas las hojas del libro nuevo. por lo demas de fabula

GRACIAS

GRACIAS

GRACIAS

SOLUCIONADO

publicado

Hola:

Modifica el procedimiento añadiendo las líneas remarcadas en negrita:

Private Sub CopiarValores(Hoja As Variant)

Application.ScreenUpdating = False


ThisWorkbook.Activate
ThisWorkbook.Sheets(Hoja).Select
For Each celda In ActiveSheet.UsedRange
Nuevo.Sheets(Hoja).Range(celda.Address).Value = celda.Value
Next


[B]Nuevo.Activate
Nuevo.Sheets(Hoja).Select
Nuevo.Range("A1").Select [/B]


End Sub[/CODE]

Saludos

PD: Debes ser muy cuidadoso con el nombre de los clientes, no deben contener caracteres incompatibles con el nombre de un archivo (",/%*¿?....)

publicado

Macro Antonio, GRACIAS nuevamente por tu dedicacion. Probare el procedimiento, pero en principio no me importa que se queden las hojas seleccionadas, puesto que es solo para en caso de necesidad comprobar algun dato.

de todas formas la factura la emito en pdf para que no la puedan modificar.

No me cansare de darte las gracias

Atte. L. Fernando Garcia

PD. como puedo hacer para que me copie tambien el anagrama de la empresa que es una imagen pegada en la hoja de facturas.

Si lo crees necesario abro otro tema, por mi ya doy este tema por cerrado y que le sirva a alguien mas.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.