Keresés

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

  • addikt

    válasz #50160 üzenetére

    Igazából arra jutottam, hogy a jelenlegi INDIRECT-es megoldásom minden szempontból jó begyűjteni az adatokat, szóval megtartanám. (és elég macerás lenne felsetupolni egy új rendszert)

    Az egyetlen hátránya, hogy minden adatot elvesztek, ahogy bezárom azt a file-t, ahonnan veszem az adatokat. Ezt úgy hidalnám át, hogy klónozom azt a sheetet ami begyűjti az adatokat.
    Az eredeti lenne a Feed sheet. Továbbra is szépen beszippantaná az adatokat a megnyitott file-ból. A klón lenne a Store sheet, ide csak "Value"-ként tenném át az adatokat egy az egyben a Feed sheetről. Innentől a fileomban minden további cella csak a Store sheetre hivatkozna, ahol megmaradnának az adatok, egészen addig, amíg újra meg nem nyitom a másik file-t, ami a Feed sheeten keresztül beupdatelné a Store sheetemet.

    Viszont ehhez macro-t kéne használnom, amihez sajnos csak nagyon minimálisan értek, szóval ehhez kéne a segítségetek. Leírom, mi lenne a legideálisabb működés számomra, aztán max egyszerűsítünk rajta, ha valamelyik rész túl problémás.

    Macro - Gombnyomásra indul
    1. Felugrik a file megnyitás dialog box és user kiválasztja és megnyitja a másik file-t, amiből átszívjuk az adatokat. Innentől nevezzük Update.xls-nek. (A valóságban ennek a neve teljesen random módon változik, a kiterjesztése pedig lehet bármilyen excel formátum, szóval xls, xlsx, xlsm stb)

    2. Az újonnan megnyitott file nevét kiterjesztéssel együtt be kéne írni egy cellába az én fileomba, hogy táplálja az INDIRECT függvényeket a Feed sheeten. Szóval abba, a fileba ahonnan a macro-t indítottuk. Legyen mostantól Original.xlsx. Írja mondjuk a Sheet1!A1-be.
    (Ezt a lépést nem tudtam megoldani egyáltalán, de remélem van rá valami okos mód. Azt talán ki lehet használni, hogy gondolom az Update.xls lesz az active.workbook, mivel épp most nyitottuk meg. De sajnos annyira nem értek vba-hoz, hogy ezt ki tudjam használni és át tudjam lopni a nevét a macrot futtató workbookomba. Legjobb lenne a file nevet kiterjesztéssel együtt, de elérési útvonal nélkül beírni. Ha nagyon nem megy másképp, akkor lehet kiterjesztés nélkül is. Egyébként az én fileom neve sem fix, de arra talán lehet hivatkozni úgy, hogy ahonnan fut a macro. Nehezítés, hogy a usereknek ezeken kívül még számos másik excele is lehet nyitva, amik nem kéne bezavarjanak)

    3. Ide esetleg be lehet tenni 1mp delay-t, hogy biztos frissüljön be minden adat a Feed sheeten. Nem tudom ez szükséges-e. Viszont mindenképp jó lenne egy check, hogy bármelyik formula errorra futott-e a Feed sheeten(elég az A1:Z200 range-t nézni). Ha igen, akkor le is állhat a macro egy hibaüzenettel.

    4. Ha nincs error, akkor Feed!A1:Z200 range-ben a formulák eredményeit kéne áttenni valueként a Store!A1:Z200-ba. (nem tudom számít-e, de ebben a range-ben van néhány merged cella is. Illetve nem kizárólag formulák vannak, hanem néhány szöveges cella is, leginkább a táblázat headerjei)

    5. Kész is, sikeres message box-szal zárulhat az update.

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

Hirdetés