Exportar valores y formato de una hoja de calculo excel a otro archivo excel

Hola a todos los Expertos en programacion tengo un problema en cuando al exportar una hoja de calculo,la macros que presento me exporta la hoja de calculo aun archivo excel nuevo pero con vinculo del archivo origen, lo que quiero es que me ayuden que a la hora de exportar se exporte solo los valores y el formato de celdas y estilo de la hoja de calculo de origen, presento el macros para ver si me pueden ayudar a modificarla.

Private Sub EXPORT_lista_Click()
    Application.DisplayAlerts = False
    Sheets("IMPRIME").Select
    template_file = ActiveWorkbook.FullName
    fileSaveName = Application.GetSaveAsFilename( _
                   InitialFileName:="C:\" + _
                   VBA.Strings.Format("libreta de secciones") + ".xlsx", _
                   fileFilter:="Text Files (*.xlsx), *.xlsx")
    If fileSaveName = False Then
        Exit Sub
    End If
    'cria uma cópia da pasta de trabalho atual da planilha atual
    Dim newBook As Workbook
    Dim plan As Worksheet
    Set newBook = Workbooks.Add
    ThisWorkbook.ActiveSheet.Copy Before:=newBook.Sheets(1)
    'exclui as demais planilhas
    For Each plan In newBook.Sheets
        If plan.Name <> ActiveSheet.Name Then
            newBook.Worksheets(plan.Index).Delete
        End If
    Next
    '
    newBook.SaveAs Filename:=fileSaveName
    'fecha a pasta de trabalho gerada
    newBook.Close SaveChanges:=True
    Set newBook = Nothing
    Sheets("DATOS").Select
    MsgBox "Se ha exportado correctamente! ", vbInformation, "LISTA"
End Sub

1 respuesta

Respuesta
1

Te anexo los cambios a la macro

Private Sub EXPORT_lista_Click()
    Application.DisplayAlerts = False
    Sheets("IMPRIME").Select
    template_file = ActiveWorkbook.FullName
    fileSaveName = Application.GetSaveAsFilename( _
                   InitialFileName:="C:\" + _
                   VBA.Strings.Format("libreta de secciones") + ".xlsx", _
                   fileFilter:="Text Files (*.xlsx), *.xlsx")
    If fileSaveName = False Then
        Exit Sub
    End If
    'cria uma cópia da pasta de trabalho atual da planilha atual
    Dim newBook As Workbook
    Dim plan As Worksheet
    Set newBook = Workbooks.Add
    ThisWorkbook.ActiveSheet.Cells.Copy
    newBook.Sheets(1).Range("A1").PasteSpecial Paste:=xlValues
    'exclui as demais planilhas
    For Each plan In newBook.Sheets
        If plan.Name <> ActiveSheet.Name Then
            newBook.Worksheets(plan.Index).Delete
        End If
    Next
    '
    newBook.SaveAs Filename:=fileSaveName
    'fecha a pasta de trabalho gerada
    newBook.Close SaveChanges:=True
    Set newBook = Nothing
    Sheets("DATOS").Select
    MsgBox "Se ha exportado correctamente! ", vbInformation, "LISTA"
End Sub

Saludos.Dante Amor

No olvides valorar la respuesta.

Gracias Dante Amor por el macros es justo lo que pedí, pero no se si se puede que el archivo una ves exportado siga manteniendo su mismo formatode celda..

Antes de continuar deberás valorar las respuesta, ya te entregué la solución que pediste, las siguientes peticiones deberás hacerlas en una nueva pregunta.

Añade tu respuesta

Haz clic para o