Copia de hojas:
Buen día Elsamatilde, podrías ayudarme en la rutina VB.xls, quiero copiar, (si se puede): hojas de un libro1.xls con todo su formato, color, ancho, fórmulas... A otro libro2.xls, o por celdas (realmente es lo que necesito...). Te envío mi rutina, en esta copia bien el proceso del libro1.xls pero al pasar al libro2.xls se pierde. De antemano te agradezco saludos...
Sub Copia_hojas()
Dim i As Long
Dim Texto As String
Dim Ruta As String
Ruta = ThisWorkbook.Path
If Right(Ruta, 1) <> "\" Then Ruta = Ruta & "\"
'---- Para detectar si existe un archivo----
If Dir(Ruta & "LIBRO1.XLS") = "" Then
Call MsgBox("El archivo archivo.txt no existe" & vbCrLf & "no se pudo convertir", vbCritical)
Exit Sub
End If
'--- Abrir la hoja original
Workbooks.Open Filename:=Ruta & "LIBRO1.xls"
' ---- Copiar datos de la original a la actual
For i = 1 To 5
Windows("LIBRO1.xls").Activate
Texto = Range("T" & i & "!A4").Text
Texto = Range("T" & i & "!B5").Text
Texto = Range("T" & i & "!C6").Text
Texto = Range("T" & i & "!D7").Text
Texto = Range("T" & i & "!F8").Text
Texto = Range("T" & i & "!L6").Text
Windows("LIBRO2.XLS").Activate ' lo estoy copiando al mismo libro que contine esta rutina
Range("T" & i & "!A4") = Texto
Range("T" & i & "!B5") = Texto
Range("T" & i & "!C6") = Texto
Range("T" & i & "!D7") = Texto
Range("T" & i & "!F8") = Texto
Range("T" & i & "!L6") = Texto
Next i
End Sub
Sub Copia_hojas()
Dim i As Long
Dim Texto As String
Dim Ruta As String
Ruta = ThisWorkbook.Path
If Right(Ruta, 1) <> "\" Then Ruta = Ruta & "\"
'---- Para detectar si existe un archivo----
If Dir(Ruta & "LIBRO1.XLS") = "" Then
Call MsgBox("El archivo archivo.txt no existe" & vbCrLf & "no se pudo convertir", vbCritical)
Exit Sub
End If
'--- Abrir la hoja original
Workbooks.Open Filename:=Ruta & "LIBRO1.xls"
' ---- Copiar datos de la original a la actual
For i = 1 To 5
Windows("LIBRO1.xls").Activate
Texto = Range("T" & i & "!A4").Text
Texto = Range("T" & i & "!B5").Text
Texto = Range("T" & i & "!C6").Text
Texto = Range("T" & i & "!D7").Text
Texto = Range("T" & i & "!F8").Text
Texto = Range("T" & i & "!L6").Text
Windows("LIBRO2.XLS").Activate ' lo estoy copiando al mismo libro que contine esta rutina
Range("T" & i & "!A4") = Texto
Range("T" & i & "!B5") = Texto
Range("T" & i & "!C6") = Texto
Range("T" & i & "!D7") = Texto
Range("T" & i & "!F8") = Texto
Range("T" & i & "!L6") = Texto
Next i
End Sub
1 Respuesta
Respuesta de Elsa Matilde
1