Excel - Borrar shapes o autoformas en el nuevo libro creado con macros

 
Vista:
Imágen de perfil de Marcos Rojas

Borrar shapes o autoformas en el nuevo libro creado con macros

Publicado por Marcos Rojas (7 intervenciones) el 18/06/2023 15:11:24
Sub GeneraCopia()
Dim origen As String, ruta As String, nombre As String, destino As String
origen = "BonoparaAlimentos.xlsm"
ruta = Range("L1").Value
nombre = Range("L2").Value
destino = ruta & "\" & nombre & ".xlsm"
Workbooks(origen).SaveCopyAs destino

End Sub

ALTAMENTE AGRADECIDO POR SU GRAN AYUDA EL CODIGO. ME FUNCIONA.
SOLO QUERIA SI ME AYUDASE A QUE EN EL LIBRO DESTINO NO SE COPIEN LAS
SHAPES O AUTOFORMAS DE LOS BOTONES, YA QUE NECESITO GENERAR UNA COPIA
DE CADA LIBRO POR SI NECESITO CONSULTAR Y EMITIR DE NUEVO RECIBOS DE PAGO DE ESE PERIODO
QUE ESTOY GUARDANDO YA QUE EL LIBRO DEBO SEGUIR USANDOLO PARA PERIODOS SUCESIVOS.

MUCHISIMAS GRACIAS.
PD. LO CONSULTE EN BING Y ME DA ERROR EL CODIGO QUE ME
SUMINISTRA EL BUSCADOR.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Medir

Borrar shapes o autoformas en el nuevo libro creado con macros

Publicado por Medir (1 intervención) el 19/06/2023 05:29:02
Para generar una copia del libro de Excel sin copiar las formas o botones (shapes o autoformas), puedes utilizar el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub GeneraCopia()
    Dim origen As String, ruta As String, nombre As String, destino As String
    origen = "BonoparaAlimentos.xlsm"
    ruta = Range("L1").Value
    nombre = Range("L2").Value
    destino = ruta & "\" & nombre & ".xlsm"
 
    ' Desactivar la copia de shapes
    Application.ScreenUpdating = False
    Application.CutCopyMode = False
 
    ' Copiar el libro sin las shapes
    Workbooks(origen).Sheets.Copy
    With ActiveWorkbook
        .Shapes.SelectAll
        .Shapes.Delete
        .SaveAs destino
        .Close SaveChanges:=False
    End With
 
    ' Reactivar las actualizaciones de pantalla
    Application.ScreenUpdating = True
End Sub

Este código desactiva la actualización de pantalla y establece el modo de copiado en False. Luego, copia las hojas del libro de origen sin las formas seleccionadas y las pega en un nuevo libro. A continuación, se eliminan todas las formas del nuevo libro antes de guardarlo como la copia final.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar