Abrir carpeta predeterminada para seleccionar archivo

tengo un fichero excel en la siguiente ruta Y:\GRM\AdPlanning\Integracion\PBU-PSA\DATOS

En la celda AA4 de Excel tengo GRM\AdPlanning\Integracion\PBU-PSA\DATOS.

Lo que necesito es que el código me coja la ruta desde la celda y abra directamente en la carpeta DATOS para poder seleccionar el fichero. Lo he intentado de varias maneras, pero siempre abre desde el explorador y tengo que ir abriendo las carpetas manualmente.

Este es el código que he usado y que no funciona:

valor = Range("AA4").Value

ChDir "Y:\" & valor
vFile = Application.GetOpenFilename( _
                                                   filefilter:="Excel files (*.xlsx), *.xlsx")

1 respuesta

Respuesta
3

Ya lo probé y funciona.

Intenta con esta otra:

    With Application.FileDialog(msoFileDialogFilePicker)
        .Title = "Seleccione archivo de excel"
        .Filters.Clear
        .Filters.Add "Archivos excel", "*.xls*"
        .AllowMultiSelect = False
        .InitialFileName = "C:\" & Range("AA4").Value
        If .Show Then
            archivo = .SelectedItems.Item(1)
        End If
    End With

[sal u dos

Buenos días,

Funciona perfectamente en cuanto a que se abre directamente en carpeta que necesito. Pero lo que no logro es que ahora al seleccionar el fichero excel lo abra.

Necesito que el fichero excel seleccionado se abra para que puedan funcionar las macros que vienen después.

Puedes volver a ayudarme, por favor? Gracias!

Esto es lo que pediste:

Lo que necesito es que el código me coja la ruta desde la celda y abra directamente en la carpeta DATOS para poder seleccionar el fichero.

En ninguna parte mencionas qué vas a hacer con el archivo seleccionado.

Para continuar con la ayuda, debes valorar la respuesta.

    With Application.FileDialog(msoFileDialogFilePicker)
        .Title = "Seleccione archivo de excel"
        .Filters.Clear
        .Filters.Add "Archivos excel", "*.xls*"
        .AllowMultiSelect = False
        .InitialFileName = "C:\" & Range("AA4").Value
        If .Show Then
            archivo = .SelectedItems.Item(1)
            Workbooks.Open archivo
        End If
    End With

Perdona, tienes razón. Explico que quiero seleccionar un archivo pero no que quiero que se abra. Lo siento.

Necesito que el fichero excel seleccionado se abra para que puedan funcionar las macros que vienen después.

Espero que puedas volver a ayudarme. Muchas gracias.

Ya te puse la línea para abrir el archivo:

Workbooks. Open archivo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas