Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Fferi50

    Topikgazda

    válasz Timer #31848 üzenetére

    Szia!

    Túlságosan is excelesen gondolkodsz, ezt VBA (makró) sokkal egyszerűbben oldja meg.
    A kiválasztott fájlnévhez tartozó elérési út alapján a Workbook.Open eljárással meg tudod nyitni az adott fájlt.
    Tehát: van egy táblázatod, ami tartalmazza a kiválasztható fájlneveket és a hozzájuk tartozó elérési utakat. Egy cellára - keresőcella - csinálsz adatérvényesítést, ami a kiválasztható fájlneveket tartalmazza - csak ebből lehet választani, így nem lehet elrontani a keresést.
    Pl: H1-H5 tartalmazza a listát, I1-I5 tartalmazza az elérési utat.
    A1 legyen a kereső mező.
    A1 adatérvényesítése lista - forrása $H$1:$H$5
    Worksheet change eseménybe kerül a következő makró:
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1")) Is Nothing Then
    Application.EnableEvents = False
    Workbooks.Open Filename:=Range("$H$1:$H$5").Find(What:=Target.Value, LookIn:=xlValues, lookat:=xlWhole).Offset(0, 1).Value & Target.Value
    Application.EnableEvents = True
    End If
    End Sub

    Ne felejtsd el, hogy az elérési út végére kell egy backslash \
    Az adott munkalaphoz úgy viheted be, hogy a munkalap fülre állva jobb egérgomb, kód megjelenítése, majd bemásolod a megjelent ablakba.

    Ha választható listát másik munkalapon szeretnéd tárolni, akkor el kell nevezned és a nevet kell beírni az adatérvényesítés forrásaként - valamint a makróba is.

    Üdv.

Új hozzászólás Aktív témák