Gracias ¡¡¡¡¡¡
con las pruebas que he realizado e conseguido copiar todo el libro de trabajo y las hoja 1 de mi libro
pero no a las hojas que creo nuevas.
te adjunto el codigo por si puedes ayudarme.
gracias
Private Sub Imprimirparte()
Dim objExcel As Application
Dim RutaArchivo As String
Dim Texto As String
Dim Fila As Integer
Set objExcel = CreateObject("Excel.Application")
With objExcel
RutaArchivo = ThisWorkbook.Path & "\parte_tmp.xlsx"
If IsFileOpen(RutaArchivo) Then
MsgBox "El libro debe estar cerrado para proceder."
Exit Sub
Else
'
With .Workbooks.Open(RutaArchivo)
.Worksheets("Hoja1").Range("parte").ClearContents
.Worksheets("Hoja2").Range("apar").ClearContents
Fila = 18
Do While .Worksheets("Hoja1").Cells(18, 1) <> ""
Fila = Fila + 1
Loop
final = Fila
.Worksheets("Hoja1").Range("D2").Value = Me.cbo_not
.Worksheets("Hoja2").Range("X3").Value = Me.cbo_not
.Worksheets("Hoja1").Range("C3").Value = Me.txt_descrip
.Worksheets("Hoja1").Range("G2").Value = Me.txt_fecha
.Worksheets("Hoja1").Range("L2").Value = Me.txt_equipo
.Worksheets("Hoja1").Range("B8").Value = Me.eje1
.Worksheets("Hoja1").Range("B10").Value = Me.eje2
.Worksheets("Hoja1").Range("B12").Value = Me.eje3
.Worksheets("Hoja2").Range("X5").Value = Me.txt_fecha
.Worksheets("Hoja2").Range("X2").Value = Me.txt_equipo
.Worksheets("Hoja2").Range("B20").Value = Me.eje1
For i = 0 To Me.ListBox1.ListCount - 1
.Worksheets("Hoja1").Cells(final, "A") = Me.ListBox1.List(i, 0) ' se tiene que grabar en la celda A18
' .Worksheets("Hoja1").Cells(final, "D") = Me.ListBox1.List(i, 1) ' se tiene que grabar en la celda D18
'.Worksheets("Hoja1").Cells(final, "F") = Me.ListBox1.List(i, 2) ' se tiene que grabar en la celda F18
final = final + 1
Next
final = 42
'
For J = 0 To Me.ListBox2.ListCount - 1
.Worksheets("Hoja1").Cells(final, "H") = Me.ListBox2.List(J, 0) ' se tiene que grabar en la celda N42
.Worksheets("Hoja1").Cells(final, "N") = Me.ListBox2.List(J, 1) ' se tiene que grabar en la celda P42
final = final + 1
Next
final = 8
For i = 0 To Me.ListBox1.ListCount - 1
.Worksheets("Hoja2").Cells(final, "a") = Me.ListBox1.List(i, 0)
.Worksheets("Hoja2").Cells(final, "f") = Me.ListBox1.List(i, 1) ' se tiene que grabar en la celda D18
.Worksheets("Hoja2").Cells(final, "g") = Me.ListBox1.List(i, 2) ' se tiene que grabar en la celda F18
.Worksheets("Hoja2").Cells(final, "h") = Me.ListBox1.List(i, 3)
.Worksheets("Hoja2").Cells(final, "i") = Me.ListBox1.List(i, 4)
.Worksheets("Hoja2").Cells(final, "j") = Me.ListBox1.List(i, 5)
.Worksheets("Hoja2").Cells(final, "k") = Me.ListBox1.List(i, 6)
.Worksheets("Hoja2").Cells(final, "r") = Me.ListBox1.List(i, 7)
.Worksheets("Hoja2").Cells(final, "s") = Me.ListBox1.List(i, 8)
.Worksheets("Hoja2").Cells(final, "t") = Me.ListBox1.List(i, 9)
final = final + 1
Next
'Establecer área de impresión y enviar al impresor.
.Worksheets("Hoja1").PageSetup.PrintArea = "parte"
.Worksheets("Hoja1").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
.Worksheets("Hoja2").PageSetup.PrintArea = "apar"
.Worksheets("Hoja2").PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
.Close SaveChanges:=True
End With
End If
.Quit
End With
End Sub