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

Extraer datos Reporte de Consolidados - Ubicación de Carpeta

Ver el tema anterior Ver el tema siguiente Ir abajo

Extraer datos Reporte de Consolidados - Ubicación de Carpeta

Mensaje por SALAVERRINO el Dom Abr 30, 2017 10:28 am

Buenos días a los miembros de este prestigioso foro, en esta ocasión quisiera pedir su apoyo en como mejorar la macro, en cuanto a la dirección donde se ejecuta dicha macro, cuando presiono el botón de formulario Union Plla 601, por defecto me lleva a una carpeta diferente a la cual estoy trabajando ejemplo: > Este equipo > Documentos, y quisiera que cuando ejecuta la rutina del botón de formulario Union Plla 601, me muestre los datos de la carpeta que estoy trabajando, ejemplo: D:\AGENCIAS MARITIMAS\SHIPPING\AÑO 2017\10 ABRIL CS SATIRA (lo que esta resaltado negrita es carpeta es variable). Desde ya agradezco su apoyo.

Código:
Sub abrir()
Application.ScreenUpdating = False
file = Application.GetOpenFilename
If file = False Then
Exit Sub
Else
Workbooks.OpenText Filename:=file
End If

a = ActiveWorkbook.Name
    UserForm1.Show
    Range("B8:AO17").Copy
    'Range("B8:AO" & Range("B" & Rows. Count).End(xlup). Row). Copy 'permite copiar consolidados globales.
   
Windows("PLANTILLA ELECTRONICA.xlsm").Activate
   
    n = Range("b8").Value
   
    If n <> Empty Then
        Range("b8").End(xlDown).Offset(1, 0).Select
    Else
        Range("b8").Select
    End If

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    'Range("B3").Select
    Range("B1").Select
    Windows(a).Activate
    Application.CutCopyMode = False
    ActiveWindow.Close savechanges:=False
Application.ScreenUpdating = True
Copiando
End Sub

SALAVERRINO

Masculino Cantidad de envíos : 9
Edad : 50
Ciudad - Pais : PERU
Version de Excel : EXCEL 2007 Y 2010
Fecha de inscripción : 25/10/2012

Volver arriba Ir abajo

Re: Extraer datos Reporte de Consolidados - Ubicación de Carpeta

Mensaje por moises melgar el Dom Abr 30, 2017 2:33 pm

Buenas tardes

depues de
Código:
Application.ScreenUpdating = False
agrega:
Código:
ChDir ThisWorkbook.Path
Nota: Lo probe con Application.GetOpenFilename pero solo me funciona con rutas con raiz en "C:\"
avatar
moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 547
Edad : 28
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Re: Extraer datos Reporte de Consolidados - Ubicación de Carpeta

Mensaje por SALAVERRINO el Dom Abr 30, 2017 3:00 pm

Buenas tardes moises melgar, agregar a la rutina que tengo donde indicas, pero no tiene efecto alguno, aun se mantiene en una ruta que no es que se requiere, para mejor detalle adjunto archivo, gracias.

Esta es la ruta que deberia quedar D:\AGENCIAS MARITIMAS\SHIPPING\AÑO 2017\10 ABRIL CS SATIRA (lo que esta resaltado negrita es carpeta es variable


SALAVERRINO

Masculino Cantidad de envíos : 9
Edad : 50
Ciudad - Pais : PERU
Version de Excel : EXCEL 2007 Y 2010
Fecha de inscripción : 25/10/2012

Volver arriba Ir abajo

Re: Extraer datos Reporte de Consolidados - Ubicación de Carpeta

Mensaje por moises melgar el Dom Abr 30, 2017 3:17 pm

Ya vi que me falto con esto funcionara hasta la parte que es fija

depues de
Código:
Application.ScreenUpdating = False

agregar:
Código:
ChDrive "D"
ChDir "D:\AGENCIAS MARITIMAS\SHIPPING\AÑO 2017"
ahora la parte Variable...donde se obtiene el valor, algun textbox alguna celda?

avatar
moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 547
Edad : 28
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Re: Extraer datos Reporte de Consolidados - Ubicación de Carpeta

Mensaje por SALAVERRINO el Dom Abr 30, 2017 4:29 pm

Hola Moises, con la opción del código brondado quedo Ok, pero estamos definiendo una ruta casi fija, pero la idea no sería que la ruta sea automáticamente. Y no quisiera ser tan exigente, pero se podría agregar dicha opción, caso contrario daríamos cómo tema solucionado.

Gracias.

SALAVERRINO

Masculino Cantidad de envíos : 9
Edad : 50
Ciudad - Pais : PERU
Version de Excel : EXCEL 2007 Y 2010
Fecha de inscripción : 25/10/2012

Volver arriba Ir abajo

Re: Extraer datos Reporte de Consolidados - Ubicación de Carpeta

Mensaje por moises melgar el Dom Abr 30, 2017 4:35 pm

Solo hay que saber donde se obtiene el dato de "10 ABRIL CS SATIRA"

si viene de una celda...o algun texbox o es la combinacion de fecha y algun texbox
para poder agregarlo a la ruta del archivo
"D:\AGENCIAS MARITIMAS\SHIPPING\AÑO 2017"
& range("......").value
o
& TextBox1.text
¿donde se obtiene el dato de "10 ABRIL CS SATIRA"?
avatar
moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 547
Edad : 28
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Re: Extraer datos Reporte de Consolidados - Ubicación de Carpeta

Mensaje por SALAVERRINO el Dom Abr 30, 2017 5:22 pm

Haber amigo Moises, los datos siempre están alojados en la unidad D: en la ruta D:\AGENCIAS MARITIMAS\SHIPPING\AÑO 2017\esta carpeta siempre es variable (10 ABRIL CS SATIRA), porque lo que requiero es que cuando ejecuto la macro que describo, permita importar los archivos que están ahí, y los archivos que usa la macro son planlla00.xlsm, planilla01.xslm, etc.

O también que con una rutina anexa a la macro, por defecto abra la ruta y no describir toda está ruta D:\AGENCIAS MARITIMAS\SHIPPING\AÑO 2017\10 ABRIL CS SATIRA.

Gracias nuevamente por tú ayuda.

SALAVERRINO

Masculino Cantidad de envíos : 9
Edad : 50
Ciudad - Pais : PERU
Version de Excel : EXCEL 2007 Y 2010
Fecha de inscripción : 25/10/2012

Volver arriba Ir abajo

Re: Extraer datos Reporte de Consolidados - Ubicación de Carpeta

Mensaje por moises melgar el Dom Abr 30, 2017 11:17 pm

Realizace un ejemplo el cual utiliza carpetas para funcionar, por lo que lo adjunto como Zip

en el libro plantilla El boton "Obtener datos"
busca todas las carpetas dentro de la carpeta principal "Año 2017" que correspondan al sig criterio:
dia + mes  + Dato

dia: dias del mes 1 a 31
mes: segun el mes del combobox del arhivo plantilla
Dato: segun celda "C2" del arhivo plantilla

Cada vez que una carpeta cumpla el criterio, se copian la informacion de los archivos (excel) dentro de esa carpeta
y los pegan en el archivo plantilla
Notas:
1.los archivos en las carpetas solo deben ser archivos de excel
2. cada nueva busqueda de archivos con la combinacion de combobox y celda C2 eliminara el resultado de la busqueda anterior


adaptacion de la macro de la pagina "macros para manejar directorios y archivos"
seccion "Desplegar una lista de archivos"
MACRO:
Código:
Sub LeerDirectorio()
Dim NombreArchivo As String
Dim RutaCarpetas As String
Dim fila
Application.ScreenUpdating = False
'seccion que elimina la informacion de la busqueda anterior
If Range("B6").Value = "" Then
Else
Range("B6:G" & Range("B" & Rows.Count).End(xlUp).Row).ClearContents
End If

'adaptacion de la macro de "macros para manejar directorios y archivos"
'seccion "Desplegar una lista de archivos"
For x = 1 To 31 'meses maximos de un mes
'Ruta carpeta arroja el direcctorio de las carpetas que deberia existir por cada dia del mes buscado
'use reemplazar para eliminar la parte de "DEL 2017" del combobox para solo obtener el mes buscado
    RutaCarpetas = ThisWorkbook.Path & "\AÑO 2017\" & x & " " & Replace(Sheets("Hoja1").ComboBox21.Text, " DEL 2017", "") & " " & Range("C2").Value
    'lee archivos con extensión xls
'dir arroja el nombre del archivo encontrado de la carpeta, si la carpeta no existe..no existe el archivo
    NombreArchivo = Dir(RutaCarpetas & "\*.xls*")
    'ciclo para leer todos los archivos de la carpeta
'si no existe el archivo nombre archivo seria "", por lo que pasaria al siguiente valor del bucle  x
    While NombreArchivo <> ""
'fila es la ultima fila vacia (donde se van a empezar a colocar los datos de los archivo encontrados)
        fila = Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Row
        Range("C" & fila).Value = x & " " & Replace(Sheets("Hoja1").ComboBox21.Text, " DEL 2017", "") & " " & Range("C2").Value
        Range("B" & fila).Value = NombreArchivo
        Workbooks.Open RutaCarpetas & "\" & NombreArchivo
        Workbooks(NombreArchivo).Activate
        Range("B1:B4").Copy
        
    ThisWorkbook.Activate
    Range("E" & fila).Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
'        Application.CutCopyMode = False
        Workbooks(NombreArchivo).Close
    
    Range("H" & fila).Cut Destination:=Range("D" & fila)
        NombreArchivo = Dir
    Wend
Next x
Range("C2").Activate
End Sub

avatar
moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 547
Edad : 28
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Re: Extraer datos Reporte de Consolidados - Ubicación de Carpeta

Mensaje por SALAVERRINO el Lun Mayo 01, 2017 10:05 am

Buenos días amigo Moises, la macro quedo bien con las modificaciones realizadas y era lo que requería obtener como resultado, agradezco el tiempo y paciencia que haz tenido para ayudarme con esta macro, por lo que daria como TEMA CERRADO.

Gracias.

SALAVERRINO

Masculino Cantidad de envíos : 9
Edad : 50
Ciudad - Pais : PERU
Version de Excel : EXCEL 2007 Y 2010
Fecha de inscripción : 25/10/2012

Volver arriba Ir abajo

Re: Extraer datos Reporte de Consolidados - Ubicación de Carpeta

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.