............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Opción Guardar en para una macro

Ver el tema anterior Ver el tema siguiente Ir abajo

Opción Guardar en para una macro

Mensaje por kruciare el Jue Abr 12, 2012 2:04 am

Hola Amigos Exelianos, junto con saludarlos le quiero solicitar una ayudita con esta macro que la encontré demasiado buena es para guardar como libro separados, todas las hojas de un libro Excel de manera independiente el problema es que le falta la opción "guardar en" Para que al momento de ejecutar la macro esta me consulte el directorio donde deseo guardar los archivos (solo en que directorio guardar NO guardar como)

Otra cosa no se si se podrá hacer por ello consulto un cuadro que me permitiera elegir en caso de que no requiera todas las hojas permitirme elegir cuales si.
Desde ya muchas gracias...

Aquí el código

Sub Crear_archivos_de_hojas()

Dim strHoja, strStartHoja, strRuta As String
Dim i As Integer

Application.ScreenUpdating = False
strStartHoja = ActiveCell.Worksheet.Name

'bucle todas hojas
For i = 1 To Sheets.Count

'copia la hoja a libro nuevo
Sheets(i).Activate
strHoja = ActiveCell.Worksheet.Name
Sheets(strHoja).Copy

'donde guardar los archivos creados
strRuta = (Aquí debiera ir un cuadro Directorio de opción que diga "guardar en" así uno elige la carpeta o escritorio donde se guardaran todos los archivos)

'guarda el libro nuevo
ActiveWorkbook.SaveAs Filename:=strRuta & "\" & strHoja, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close Savechanges:=True

'repetir bucle'
Next

Sheets(strStartHoja).Activate
Application.ScreenUpdating = True

End Sub
avatar
kruciare

Masculino Cantidad de envíos : 18
Edad : 36
Ciudad - Pais : chile
Version de Excel : 2010
Fecha de inscripción : 13/01/2012

Volver arriba Ir abajo

Re: Opción Guardar en para una macro

Mensaje por GalileoGali el Mar Abr 17, 2012 7:22 am

Prueba esto

Código:
Option Explicit
Dim elegido As Boolean
Function GetFolder(strPath As String) As String
Dim fldr As FileDialog
Dim sItem As String
Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
With fldr
    .Title = "Seleccione una Carpeta"
    .AllowMultiSelect = False
    .InitialFileName = strPath
    If .Show <> -1 Then GoTo NextCode
    sItem = .SelectedItems(1)
End With
NextCode:
GetFolder = sItem
Set fldr = Nothing
End Function

Sub Crear_archivos_de_hojas()

Dim strHoja, strStartHoja, strRuta As String
Dim i As Integer, idem As Integer

Application.ScreenUpdating = False
strStartHoja = ActiveCell.Worksheet.Name

'bucle todas hojas
For i = 1 To Sheets.Count

'copia la hoja a libro nuevo
Sheets(i).Activate
strHoja = ActiveCell.Worksheet.Name
Sheets(strHoja).Copy

'donde guardar los archivos creados
If Not (elegido) Then
strRuta = GetFolder(ThisWorkbook.Path)
idem = MsgBox("Utilizará esta carpeta para todos los archivos?", vbYesNo, "Carpeta destino")
    If idem = vbYes Then elegido = True
End If

'guarda el libro nuevo
ActiveWorkbook.SaveAs Filename:=strRuta & "\" & strHoja, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close Savechanges:=True

'repetir bucle'
Next

Sheets(strStartHoja).Activate
Application.ScreenUpdating = True

End Sub

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Opción Guardar en para una macro

Mensaje por kruciare el Miér Abr 18, 2012 2:42 pm

Muchas gracias maestro Gali funciona de maravilla muy agradecido lo único que le quería consultar si es que es posible que el archivo lo guarde como libro excel 2007 que es el mismo del 2010. ya que la macro guarda los nuevos libros en excel 2003.

Desde ya muchas gracias por su constante ayuda.
avatar
kruciare

Masculino Cantidad de envíos : 18
Edad : 36
Ciudad - Pais : chile
Version de Excel : 2010
Fecha de inscripción : 13/01/2012

Volver arriba Ir abajo

Solución a guardar los nuevos libros como libro excel .xlsx

Mensaje por kruciare el Mar Abr 24, 2012 2:33 am



Option Explicit
Dim elegido As Boolean
Function GetFolder(strPath As String) As String
Dim fldr As FileDialog
Dim sItem As String
Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
With fldr
.Title = "Seleccione una Carpeta"
.AllowMultiSelect = False
.InitialFileName = strPath
If .Show <> -1 Then GoTo NextCode
sItem = .SelectedItems(1)
End With
NextCode:
GetFolder = sItem
Set fldr = Nothing
End Function

Sub Crear_archivos_de_hojas()

Dim strHoja, strStartHoja, strRuta As String
Dim i As Integer, idem As Integer

Application.ScreenUpdating = False
strStartHoja = ActiveCell.Worksheet.Name

'bucle todas hojas
For i = 1 To Sheets.Count

'copia la hoja a libro nuevo
Sheets(i).Activate
strHoja = ActiveCell.Worksheet.Name
Sheets(strHoja).Copy

'donde guardar los archivos creados
If Not (elegido) Then
strRuta = GetFolder(ThisWorkbook.Path)
idem = MsgBox("Utilizará esta carpeta para todos los archivos?", vbYesNo, "Carpeta destino")
If idem = vbYes Then elegido = True
End If

'guarda el libro nuevo
ActiveWorkbook.SaveAs Filename:=strRuta & "\" & strHoja, _
FileFormat:=51, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close Savechanges:=True

'repetir bucle'
Next

Sheets(strStartHoja).Activate
Application.ScreenUpdating = True

End Sub
avatar
kruciare

Masculino Cantidad de envíos : 18
Edad : 36
Ciudad - Pais : chile
Version de Excel : 2010
Fecha de inscripción : 13/01/2012

Volver arriba Ir abajo

Re: Opción Guardar en para una macro

Mensaje por GalileoGali el Mar Abr 24, 2012 10:17 pm

Nombre Valor Descripción
xlAddIn 18 Complemento de Microsoft Office Excel
xlAddIn8 18 Complemento de Excel 2007
xlCSV 6 CSV
xlCSVMac 22 CSV de Macintosh
xlCSVMSDOS 24 CSV de MSDOS
xlCSVWindows 23 CSV de Windows
xlCurrentPlatformText -4158 Texto de la plataforma actual
xlDBF2 7 DBF2
xlDBF3 8 DBF3
xlDBF4 11 DBF4
xlDIF 9 DIF
xlExcel12 50 Excel 12
xlExcel2 16 Excel 2
xlExcel2FarEast 27 Excel2 Este asiático
xlExcel3 29 Excel3
xlExcel4 33 Excel4
xlExcel4Workbook 35 Libro de Excel4
xlExcel5 39 Excel5
xlExcel7 39 Excel7
xlExcel8 56 Excel8
xlExcel9795 43 Excel9795
xlHtml 44 Formato HTML
xlIntlAddIn 26 Complemento internacional
xlIntlMacro 25 Macro internacional
xlOpenXMLAddIn 55 Complemento XML abierto
xlOpenXMLTemplate 54 Plantilla XML abierta
xlOpenXMLTemplateMacroEnabled 53 Plantilla XML abierta con macros habilitadas
xlOpenXMLWorkbook 51 Libro XML abierto
xlOpenXMLWorkbookMacroEnabled 52 Libro XML abierto con macros habilitadas
xlSYLK 2 SYLK (vínculo simbólico)
xlTemplate 17 Plantilla
xlTemplate8 17 Plantilla 8
xlTextMac 19 Texto de Macintosh
xlTextMSDOS 21 Texto de MSDOS
xlTextPrinter 36 Texto de impresora
xlTextWindows 20 Texto de Windows
xlUnicodeText 42 Texto Unicode
xlWebArchive 45 Archivo de almacenamiento Web
xlWJ2WD1 14 WJ2WD1
xlWJ3 40 WJ3
xlWJ3FJ3 41 WJ3FJ3
xlWK1 5 WK1
xlWK1ALL 31 WK1ALL
xlWK1FMT 30 WK1FMT
xlWK3 15 WK3
xlWK3FM3 32 WK3FM3
xlWK4 38 WK4
xlWKS 4 Hoja de cálculo
xlWorkbookDefault 51 Predeterminado de hoja de cálculo
xlWorkbookNormal -4143 Libro normal
xlWorks2FarEast 28 Works2 Este asiático
xlWQ1 34 WQ1
xlXMLSpreadsheet 46 Hoja de cálculo XML


Yo no descartaría el valor 50, para FileFormat en SaveAs, ya que corresponde con Excel12 que es la version de Excel 2007

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Opción Guardar en para una macro

Mensaje por kruciare el Miér Abr 25, 2012 12:09 am

Muchas Gracias Maestro Gali.....
avatar
kruciare

Masculino Cantidad de envíos : 18
Edad : 36
Ciudad - Pais : chile
Version de Excel : 2010
Fecha de inscripción : 13/01/2012

Volver arriba Ir abajo

Re: Opción Guardar en para una macro

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.