Macro que copia a otra hoja con condición quiero que copie a otro libro
Tengo un libro con una hoja "Registros", el cual contiene un listado de 500 alumnos, con números de teléfono, e-mail, a que turno van, etc. Y luego tengo hojas de asistencia "Baile", "Basquet", "Futbol", etc... En cada una de estas hojas de asistencia tengo un botón que llama solo 2 datos (nombre y apellido y grado), según la actividad que haga. En baile la macro solo llama a las alumnas que hacen baile, en básquet lo mismo.
El problema es que tengo todas las hojas en un solo libro, y necesito que "Registros" quede separado en un libro y las listas de asistencia en otro. Y me estoy volviendo loco con el objeto workbook pero no encuentro la forma.
Paso la macro que funciona y que lleva datos con condiciones de una hoja a otra en el mismo archivo.
Sub ActualizaFutbolInicialTM() Dim titulo As String Dim autor As String Dim nombre As String Dim pais As String Dim idioma As String Dim genero As String Dim ultimaFila As Long Dim ultimaFilaAuxiliar As Long Dim cont As Long Dim palabraBusqueda As String palabraBusqueda = Sheets("FUTBOL-I-TM").Cells(1, 2) palabraBusqueda = "*" & palabraBusqueda & "*" turno = Sheets("FUTBOL-I-TM").Cells(2, 3) nivel = Sheets("FUTBOL-I-TM").Cells(3, 3) ultimaFila = Sheets("Registros").Range("B" & Rows.Count).End(xlUp).Row If ultimaFila < 6 Then Exit Sub End If For cont = 6 To ultimaFila If Sheets("Registros").Cells(cont, 11) Like palabraBusqueda And Sheets("Registros").Cells(cont, 5) Like turno And Sheets("Registros").Cells(cont, 6) Like nivel Then ID = Sheets("Registros").Cells(cont, 2) nombre = Sheets("Registros").Cells(cont, 4) seccion = Sheets("Registros").Cells(cont, 7) ultimaFilaAuxiliar = Sheets("FUTBOL-I-TM").Range("B" & Rows.Count).End(xlUp).Row Sheets("FUTBOL-I-TM").Cells(ultimaFilaAuxiliar + 1, 1) = ID Sheets("FUTBOL-I-TM").Cells(ultimaFilaAuxiliar + 1, 2) = nombre Sheets("FUTBOL-I-TM").Cells(ultimaFilaAuxiliar + 1, 3) = seccion End If Next cont ultimaFilaAuxiliar = Sheets("FUTBOL-I-TM").Range("B" & Rows.Count).End(xlUp).Row With Sheets("FUTBOL-I-TM").Range("B6:G" & ultimaFilaAuxiliar).Font .Name = "Arial" .Size = 11 .Italic = False End With MsgBox "Proceso terminado", vbInformation, "Resultado" End Sub