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

1 respuesta

Respuesta
1
En realidad se pierde al tratar de tomar el primer dato del LIBRO1, porque estás incluyendo en el rango (Range) el nombre de la hoja, cuando lo correcto es:
Windows("LIBRO1.xls").Activate
Sheets("T" & i).select
Texto = Activesheet.range("A4").text
Y así con todas las instrucciones, lo mismo para el LIBRO2
Pruébalo y comentame si con esto ya se solucionó el problema

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas