MEJORAR MACRO AL GRABAR

Pregunta lo que quieras sobre JuegosExcel.com o responde las preguntas de otros usuarios.

MEJORAR MACRO AL GRABAR

Notapor SALAVERRINO » 01 May 2017, 18:27

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.

Código: Seleccionar todo
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
SALAVERRINO
Nuev@
Nuev@
 
Mensajes: 2
Registrado: 25 Jul 2015, 02:54

Re: MEJORAR MACRO AL GRABAR

Notapor a_maia » 01 May 2017, 18:58

El código que indicas es un código VBA con una subrutina que ha de ser llamada desde otra parte del código en el cual se solicita el nombre del archivo y por defecto te pone la extensión xlsm.

No se de donde lo has sacado ni para que lo quieres utilizar, generalmente los juegos que llevan macro no solemos utilizar subrutinas de grabación.

Se que en función de la versión de excel se guarda por defecto en xlsm y posteriormente se puede convertir a xls o xlsx.

Si necesitas ayudas envíame un mp explicando un poco lo que realmente quieres hacer y miraré si puedo ayudarte.

Saludos!!!!
Avatar de Usuario
a_maia
Moderadora
Moderadora
 
Mensajes: 8886
Registrado: 18 Mar 2005, 15:25

Re: MEJORAR MACRO AL GRABAR

Notapor SALAVERRINO » 01 May 2017, 19:09

Buenos días a_maia, lo que pretendo con esta modificación de la macro, es que al "guardar como" con un nuevo nombre, lo gabre sin la extensión xslm (macro) sino con xlsx, quisiera enviarte el archivo, pero no encuentro en esta pagina el como subirlo, no se si me podrías facilitar un email, para enviarte el archivo.

Gracias.
SALAVERRINO
Nuev@
Nuev@
 
Mensajes: 2
Registrado: 25 Jul 2015, 02:54


Volver a Preguntas y Respuestas

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado