Convertir rango excel de una hoja en un libro independiente

Mi tengo una hoja que parte de ella quisiera convertirla en un libro independiente

Es el rango CD5:CR100

Este rango quisiera que se guarde en una hoja de un libro independiente a partir de la celda A1

Entonces no se si antes de ejecutarse EL CÓDIGO este me pregunta que nombre darle ala hoja y al libro que se creara para ese rango antes mencionado...

No se si usar un imputbox o que agarre el nombre basado en el valor de una celda.

1 Respuesta

Respuesta
2

H o l a:

te anexo la macro para tomar los datos de las celdas

Sub GuardarRango1()
'Por.Dante Amor
    'guarda el libro y toma los datos de la celda
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("Hoja1")
    Set r = h1.Range("CD5:CR100")
    '
    ruta = l1.Path & "\"
    libro = h1.[B2]         'nombre para el libro
    hoja = h1.[B3]          'nombre para la hoja
    If libro = "" Then Exit Sub
    If hoja = "" Then Exit Sub
    '
    Set l2 = Workbooks.Add
    Set h2 = l2.Sheets(1)
    '
    r.Copy h2.[A1]
    h2.Name = hoja
    l2.SaveAs Filename:=ruta & libro & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    l2.Close
    MsgBox "rango copiado"
End Sub

Macro para guardar obteniendo los datos con inputbox

Sub GuardarRango2()
'Por.Dante Amor
    'guarda el libro y toma los datos de input
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("Hoja1")
    Set r = h1.Range("CD5:CR100")
    '
    ruta = l1.Path & "\"
    libro = InputBox("Nombre del libro", "LIBRO")
    hoja = InputBox("Nombre de la hoja", "HOJA")
    If libro = "" Then Exit Sub
    If hoja = "" Then Exit Sub
    '
    Set l2 = Workbooks.Add
    Set h2 = l2.Sheets(1)
    '
    r.Copy h2.[A1]
    h2.Name = hoja
    l2.SaveAs Filename:=ruta & libro & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    l2.Close
    MsgBox "rango copiado"
End Sub

Sal u dos

¡Gracias!

DAN eres grande! Sigo estudiando poco a poco los códigos, gracias por el apoyo que nos brindas, saludos!

DAN ejecute el código del inputbox y cuando termino de ejecutar y cierro el libro donde esta la macro me sale que EXCEL Ha DEJADO DE FUNCIONAR... BUSCAR UNA SOLUCIÓN Y REINICIAR EL programa... con esta macro cierro el programa:

Dim salir
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Por.Dante Amor
If salir = False Then
RES = MsgBox("¿DESEAS GUARDAR?", vbQuestion + vbYesNoCancel, "EL RETORNO")
Select Case RES
Case vbYes
ThisWorkbook.Save
Case vbNo
salir = True
ThisWorkbook.Close False
Case vbCancel
Cancel = True
End Select
End If
End Sub

Ejecuto la macro de salir, lo guardo y me sale el error que te comento, ¿cómo se podrían evitar eso? :C

Crea una nueva pregunta parea revisar tu código, tal vez sea necesario que me envíes tu archivo, recuerda poner tu nombre de usuario en el asunto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas