VBA Excel: Importar hojas a un libro de trabajo
Resuelto
Amélie
-
cs_Le Pivert Mensajes publicados 8437 Estado Colaborador -
cs_Le Pivert Mensajes publicados 8437 Estado Colaborador -
Bonjour,
Estoy buscando un código fiable que me permita importar las hojas de un libro a otro.
Concretamente, al abrir el libro que contiene la macro y pulsar un botón, me gustaría poder recuperar todas las hojas de un libro a elegir pero que esté en el mismo directorio.
¿Alguien podría hacerlo?
¡Gracias!
Estoy buscando un código fiable que me permita importar las hojas de un libro a otro.
Concretamente, al abrir el libro que contiene la macro y pulsar un botón, me gustaría poder recuperar todas las hojas de un libro a elegir pero que esté en el mismo directorio.
¿Alguien podría hacerlo?
¡Gracias!
2 respuestas
-
Realiza alt f11 para acceder al editor
Inserta un UserForm
Coloca un botón con este códigoOpción Explícita Private Sub CommandButton1_Click() Dim i As Integer Dim nom As String Workbooks.Open ThisWorkbook.Path & "\" & "Classeur1.xls" 'libro para copiar a adaptar el nombre 'se recorren todas las hojas For i = 1 To Worksheets.Count Workbooks("Classeur1.xls").Activate 'libro para copiar a adaptar el nombre nom = Worksheets(i).Name Sheets(nom).Select Sheets(nom).Copy after:=Workbooks("Copier_onglet.xls").Sheets(1) 'libro para pegar a adaptar el nombre Next End Sub
--
@+ El Pivert-
-
Sí, me he dado cuenta y he rectificado.
He añadido la eliminación de las pestañas por si acaso.
Habrá que añadir un botón.
Aquí está el código:
Option Explicit Private Sub CommandButton1_Click() Dim i As Integer Dim nom As String Workbooks.Open ThisWorkbook.Path & "\" & "Classeur1.xls" 'libro a copiar a adaptar el nombre 'recorremos todas las hojas For i = 1 To Worksheets.Count Workbooks("Classeur1.xls").Activate 'libro a copiar a adaptar el nombre nom = Worksheets(i).Name Sheets(nom).Select Sheets(nom).Copy After:=Workbooks("Copier_onglet.xls").Sheets(1) 'libro a pegar a adaptar el nombre Sheets(nom).Move After:=Sheets(Sheets.Count) 'ponemos las pestañas en orden Next End Sub Private Sub CommandButton2_Click() Sheets("Recapitulatif").Select BorradoTodaHoja End Sub Sub BorradoTodaHoja() Dim Ctr Application.DisplayAlerts = False For Ctr = Sheets.Count To 1 Step -1 If Sheets(Ctr).Name <> ActiveSheet.Name Then Sheets(Ctr).Delete End If Next Application.DisplayAlerts = True End Sub Private Sub UserForm_Initialize() CommandButton1.Caption = "Copiar hojas" CommandButton2.Caption = "Eliminar hojas" End Sub
Buen fin de semana
@+ El Pájaro Carpintero
-