Foros del Web » Soporte técnico » Ofimática »

Corrección de macro para crear y copiar hoja a determinada carpeta

Estas en el tema de Corrección de macro para crear y copiar hoja a determinada carpeta en el foro de Ofimática en Foros del Web. Hola amigos Tengo esta macro la cual crea carpeta y sub carpeta pero: Código: Sub CreaCarpetas() Application.DisplayAlerts = False Application.ScreenUpdating = False MkDir "C:\trabajo" ' ...
  #1 (permalink)  
Antiguo 12/10/2015, 09:38
 
Fecha de Ingreso: agosto-2007
Mensajes: 1.945
Antigüedad: 17 años, 3 meses
Puntos: 39
Corrección de macro para crear y copiar hoja a determinada carpeta

Hola amigos
Tengo esta macro la cual crea carpeta y sub carpeta pero:
Código:
Sub CreaCarpetas()

    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    
    MkDir "C:\trabajo" ' SI YA EXISTE LA CARPETA, MANDA ERROR
    
    ruta = "C:\trabajo\"
    año = Format(Date, "YYYY")
    mes = Format(Date, "mmmm-YYYY")
    On Error Resume Next
    MkDir ruta & "\" & año
    MkDir ruta & "\" & año & "\" & mes
    On Error GoTo 0
    '
    ruta = ruta & año & "\" & mes & "\"
    
    arch = "Parte.xlsx" 'Aqui el auto-nombre de hoja HOJA.NAME\.XLSX
    Sheets("Parte").Copy 'AQUI EL AUTONOMBRE DE HOJA HOJA.NAME
    
    ActiveWorkbook.SaveAs Filename:=ruta & arch, FileFormat:=xlOpenXMLWorkbook
    ActiveWorkbook.Close

    Application.ScreenUpdating = True
        Application.DisplayAlerts = True
        
    MsgBox "Hoja copiada"
End Sub
1º Si la carpeta C:\trabajo ya existe, manda error en esa linea

2º Quiero que para copiar la hoja, no tenga el nombre especifico de la hoja si no que busque nombre de hoja, Sheets.name, (WorkSheet.name (creo)) es decir, si la hoja no es la misma a copiar, tendria que a cada momento cambiar su nombre en la macro

3º Que la ruta sea una sola, es decir, que ruta haga referencia a
Código:
ruta = "C:\trabajo" & format(Date, "yyyy") & format(Date, "mmmm-yyyy")
las 3 en una sola linea. Trate de hacerlo pero siempre manda error

Gracias
__________________
Las contraseñas son como la ropa interior: Nunca dejarlas donde la gente pueda verlas
http://i64.tinypic.com/rho40i.jpg
  #2 (permalink)  
Antiguo 12/10/2015, 13:19
Colaborador
 
Fecha de Ingreso: agosto-2004
Mensajes: 1.611
Antigüedad: 20 años, 3 meses
Puntos: 47
Respuesta: Corrección de macro para crear y copiar hoja a determinada carpeta

Si la carpeta ya existe, ¿para qué le indicas que la cree de nuevo? cada vez que inicies la macro te dará el error.

Necesitas crear subrutinas y usar "control" en la macro, para ejecutar las subrutinas...

Saludos....
  #3 (permalink)  
Antiguo 12/10/2015, 13:51
 
Fecha de Ingreso: agosto-2007
Mensajes: 1.945
Antigüedad: 17 años, 3 meses
Puntos: 39
Respuesta: Corrección de macro para crear y copiar hoja a determinada carpeta

Pues no sabia decirte
Lo de la carpeta es porque si existe ya existe, si no existe que la crie.
Sopone que la carpeta no existe? hay que crearla
Sopone que ya existe? no la cria.
Ese es la necesidad que tengo porque cada ves que ejecute la macro, mañana dentro de 3 dias etc tengo que crearla, pienso no ser el correcto de lo que pretendo.
Claro que talvez fue mi mala exposicion.
Y sobre la ruta?
Lo malo que enfrento yo es no saber crear el codigo, mi conocimiento es praticamente nulo
__________________
Las contraseñas son como la ropa interior: Nunca dejarlas donde la gente pueda verlas
http://i64.tinypic.com/rho40i.jpg

Etiquetas: excel
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:40.