VBA Código para mover hojas cuyos nombres están en un rango a otro libro
Estoy empezando con esto de las macros y la programación VBA por temas de trabajo y necesito hacer lo siguiente:
En la hoja "Selección" tengo un rango ("K7:K19") que contiene un listado de nombres (por ejemplo, Elena, María, Miriam,...)
Mi Libro tiene varias hojas (unas 15), con diferentes nombres (Pedro, Hugo, Rubén, Elena, Miriam, Javier,...)
Necesito mover a otro libro las hojas cuyo nombre aparezca en el rango ("K7:K19")
Para probar, he intentado hacerlo primero para un único valor (p. Ej. Miriam) pero, me copia la pestaña que no quiero :(
Por ahora llevo esto hecho:
Dim origen As Workbook
Dim destino As Workbook
Public lista As Range
Sub guardarhoja()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'Identificar los libros origen y destino y la lista con los nombres
Set origen = ActiveWorkbook
Set lista = Worksheets("SELECCIÓN").Range("K7:K19")
Workbooks.Add
Set destino = ActiveWorkbook
origen.Activate
'Cuando el nombre de unahoja es igual a un nombre de la lista --> mueve la hoja al libro destino
Dim s As Worksheet
For Each s In origen.Worksheets
If s.Name = "MIRIAM" Then s.Select
ActiveSheet.Move Before:=destino.Sheets(1)
Next s
End Sub
1 respuesta
Respuesta de Abraham Valencia
1

