Jump to content

Archived

This topic is now archived and is closed to further replies.

SALAVERRINO

MEJORAR MACRO AL GRABAR

Recommended Posts

Buenas días a los miembros de este foro, en esta ocasión quisiera pedir su ayuda en como mejorar la macro, es decir que al grabar el nuevo archivo se grabe con la extensión .xlsx, pero conservando la plantilla en VBA, para lo cual adjunto código, y desde ya agradezco su ayuda.

Sub guardar24072015()
NOMBRE = ActiveWorkbook.Name
CARPETAA = ActiveWorkbook.Path
filaa = CARPETAA & "\" & NOMBRE
nombrar = MsgBox("usar el archivo por default", vbYesNo + vbDefaultButton2, "AVISO")
If nombrar = vbYes Then
filab = CARPETAA & "\" & "plantilla electronica1"

Else
titulo = InputBox("¿Como se va a llamar el archivo?", "AVISO")
If titulo = "" Then
Exit Sub
Else
filab = CARPETAA & "\" & UCase(titulo) & ".xlsm"
End If
End If
ActiveWorkbook.Save
ActiveWorkbook.SaveAs fileName:=filab, FileFormat:=xlOpenXMLWorkbookMacroEnabled
xnombre = ActiveWorkbook.Name
Workbooks.Open (filaa)
Sheets("LLENADO").Range("B7:G16").ClearContents
Sheets("LLENADO").Range("K7:P16").ClearContents
Sheets("LLENADO").Range("B21:G30").ClearContents
Sheets("LLENADO").Range("K21:P30").ClearContents
Sheets("LLENADO").Range("B35:G44").ClearContents
Sheets("LLENADO").Range("K35:P44").ClearContents
Sheets("LLENADO").Range("B49:G58").ClearContents
Sheets("LLENADO").Range("K49:P58").ClearContents
Sheets("LLENADO").Range("B63:G72").ClearContents
Sheets("LLENADO").Range("K63:P72").ClearContents

Sheets("LLENADO").Range("I7:I16").ClearContents
Sheets("LLENADO").Range("R7:R16").ClearContents
Sheets("LLENADO").Range("I21:I30").ClearContents
Sheets("LLENADO").Range("R21:R30").ClearContents
Sheets("LLENADO").Range("I35:I44").ClearContents
Sheets("LLENADO").Range("R35:R44").ClearContents
Sheets("LLENADO").Range("I49:I58").ClearContents
Sheets("LLENADO").Range("R49:R58").ClearContents
Sheets("LLENADO").Range("I63:I72").ClearContents
Sheets("LLENADO").Range("R63:R72").ClearContents


Workbooks("ESTRUCTURA PLANILLAS.xlsm").Save

Sheets("LLENADO").Select
    Range("B7").Select

Workbooks(xnombre).Close savechanges = True
Sheets("LLENADO").Range(Cells(7, 1), Cells(lastRow, 50)).ClearContents
End Sub

 

Share this post


Link to post
Share on other sites

Buenos días Macro Antonio, es cierto como indicas que los archivos .xlsx no pueden contener código VBA, pero básicamente mi pregunta es, el código que describo en una plantilla general que uso para llenar datos y lo que deseo si se pudiera es que al grabar (con otro nombre) ejemplo planilla00 tenga la extensión *.xlsx, y siempre manteniendo mi planitlla. adjunto archivo particionado.

Agradezco la ayuda brindada.

ESTRUCTURA PLANILLAS.part1.rar

ESTRUCTURA PLANILLAS.part2.rar

ESTRUCTURA PLANILLAS.part3.rar

ESTRUCTURA PLANILLAS.part4.rar

Share this post


Link to post
Share on other sites

Vale mas tarde que nunca.

Application.DisplayAlerts = False
Sheets("Mi plantilla").Copy
ActiveWorkbook.SaveAs Filename:="C:\Users\Antoni\Downloads\Sin macros.xlsx", FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close

 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




×
×
  • Create New...

Important Information

Privacy Policy