Dos temas relacionados con manejo de archivos

Gustavo ; abuso de tu amabilidad para ver si me podes ayufar en dos temas. Por un lado, quisiera saber si puedes enviarme la rutina que enviaste el 09 pasado sobre la identificación de las hojas de un libro para su acceso desde una hoja.
El segundo espero explicarme deidamente:
Tengo un libro de necesita levantar datos de una de las hojas de otro libro. No se trata de la totalidad de la hoja sino de la totaidad de los datos de algunas columnas (como ejemplo, los datos contenidos en las columnas A, B y C, y, por otro lado, los datos de las columnas F hasta la M'.
Esto lo logré muy rudimentariamente vía una macro, quisiera saber si puedes guiarme con algo que segurametne será más ágil de lo que estoy haciendo .
Tampoco sé como hacer es interrunpir la macro para pedir al operador de la planilla (somos 3) el nombre del archivo que debe abrir y la rura de acceso al archivo, de modo tal de asegurarme que lo puede hacer desde diferentes ubicaciones.
Espero haber sido claro.
Muchas gracias desde ya

1 respuesta

Respuesta
1
Para la primera pásame una dirección de mail (decime bien que necesitás porque ese día respondí 2 o 3 preguntas "parecidas"; calculo que te referís al archivo que hace un indice de todas las hojas).
Al segundo decime como es el código para ver si se puede mejorar y/o donde deberías meter la interripción para que los usuarios cambien el archivo...
Inicialmente te digo que se me ocurre que hagas esto (ej/ en la celda A1)
=[tuArchivo.xls]Libro1!A1
Y lo copias para abajo y para el costado hasta la celda C. Esto te debería traer toda la información de las primeras columnas (prestá atención que no puse $A$1 sino directamente A1).
Muchas Gracias Gustavo, sobre el primer punto se trata de tener en una hoa del libro el nombre de todas las demás hojas del mismo libro, evitando la navegación sobre las diferentes ventanas.
Respecto del segundo punto tu sugerencia ya la había implementado pero si vinculo así los archivosel problema es que los vínculos en todas las máquinas no son los mismos, por lo que necesitaría que el operador pueda ingresar la ruta de acceso al archivo donde existe la información (o que éste último se abra junto con el que va a usar los datos).
El código es el siguiente (como verás, copio todo el rango y luego borro lo que no me interesa):
Sub GETBASECDATA()
'
' GETBASECDATA Macro
' Macro grabada el 06/09/2008 por Eduardo
'
'
    Workbooks.Open Filename:= _
        "C:\"ruta de acceso\ARCHIVO_FUENTE.xls"
    Sheets("HOJA DE ARCHIVO FUENTE").Select
    Columns("A:AF").Select
    Selection.Copy
    Windows("ARCHIVO_RECEPTOR.xls").Activate
    Range("A1").Select
    ActiveSheet.Paste
    Columns("F:H").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlToLeft
    Columns("I:M").Select
    Selection.Delete Shift:=xlToLeft
    Columns("V:Z").Select
    Selection.Delete Shift:=xlToLeft
    Range("I2:U2").Select
    Selection.ClearContents
    Range("A2").Select
End Sub
Desde ya muchas gracias Gustavo
Ok, del primer punto pásame un mail para que te pueda pasar el archivo ejemplo. Respecto al segundo punto, lo que te recomiendo es que el usuario ponga el nombre del archivo en alguna celda específica y el directorio en otro; luego cambias la macro de la siguiente forma (asumiendo que el directorio está en A2 y el nombre del archivo va en A2)
Sub GETBASECDATA()
'
' GETBASECDATA Macro
' Macro grabada el 06/09/2008 por Eduardo
'
'
Workbooks.Open Filename:= Sheets("tuHoja").Range("$A$1").value & _
            Sheets("tuHoja").Range("$A$2").Value
Sheets( Sheets("tuHoja").Range("$A$2").Value).Select
...
...
Tendrás que ajustarla en función de como ingresen el nombre, el directorio, etc pero es básicamente para que tengas idea de como sería...
GRACIAS

mi mail es [email protected]
Te envié un mail;
Saludos (y no olvides finalizar la pregunta)
Gfellay
Gustavo, no se si recibiste mi mensaje anterior, el tema es que te pase mal mi mail, dado que yahoo está desactivado. Mi dirección es
[email protected]
Mil disculpas y, si pode's envialo a la cuenta de gmail.
Gracias
Reenvié el mail.
Saludos (y no olvides finalizar)
Gfellay

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas