Jump to content

copiar y guardar hoja como valor de celda


lfgf37

Recommended Posts

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 (",/%*¿?....)

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

Privacy Policy