Telefonszámunk: 1-472-0679

Munkafüzetek közötti körkörös hivatkozás VBA frissítése

Kezdőlap Fórumok Excel programozás Munkafüzetek közötti körkörös hivatkozás VBA frissítése

5 bejegyzés megtekintése - 1-5 / 5
  • Szerző
    Bejegyzés
  • #5440
    NIN
    Felhasználó

      Sziasztok!
      Köszönöm mindenkine az eddigi segítésgeket!

      Felmerült egy problémám, ami a munkalapok frissítését jeleni. Sajnos az excel automatikusan 60s alá nem engedi vinni.

      Próváltam betanított makrót csináni- lépésről lépésre felvettem mit szeretnék- , de nem futtatja Ctrl+betű kombinációjával, csak, ha a makrót a vezérlőből indítom el, de ez macerás, mert több felhasználóval működtetve, kimaradhat / elfelejtődhet.

      Ráadásul nem tudom, hogy működik e úgy, ha belső hálózaton vanna összekötve a gépek.

      Mit is szeretné

      Van 5 kolléga ,akik 1-1 „beviteli” excel felületen dolgoznak egyidőben, ezek:
      „Tervezés_m_v1”
      „Tervezés_m_v2”
      „Tervezés_m_v3”
      „Tervezés_m_v4”
      „Tervezés_m_v5″
      – munkafüzetek. Minden kitöltött sorhoz egyedi azonosítót kell adni.

      Erre létrehoztam egy közös összesítő munkafüzetet, melynek neve:
      ” Rendszer főtábla_m „.
      Ide „lekérdezéssel” összesítem:
      „Tervezés_m_v1”
      „Tervezés_m_v2”
      „Tervezés_m_v3”
      „Tervezés_m_v4”
      „Tervezés_m_v5″
      és generálok egy egyedi azonosítót a beérkezett sorokhoz.

      – munkafüzetek szerveren vannak mentve, onnan olvassuk be a saját gépeinkre.
      Összesítő munkafüzetet ” Rendszer főtábla_m ” mindig megnyitásra kerül munkidő alatt.

      A generált egyedi azonosítót visszahivatkozva a
      „Tervezés_m_v1”
      „Tervezés_m_v2”
      „Tervezés_m_v3”
      „Tervezés_m_v4”
      „Tervezés_m_v5”
      munkafüzetekre tökéletesn működik a rendszer!

      Sajnos lassan, 60s frissítési idővel!

      Tudtok segíteni olyan megoldással, amivel gyorsabban megvalósítható? Akár „Ctrl+betű” kombinációval lefrissíthető a teljes körkörös hivatkozás, vagy VBA programmal megvalósítani?

      Találtam a fórumon „delila” ajánlásáva egyet, de nem tudom, hogy átalakítva az én esetemben megfelelő e?!?

      TimeValue(„00:00:01”) – miatt gondolom csak a frissítési időre utal – Bocsánat…nagyon laikus vagyok

      „Sub StatuszSor()
      Dim sor As Integer
      For sor = 1 To 25
      Application.StatusBar = sor & „. sor összege: ” & Cells(sor, 1) + Cells(sor, 2)
      Application.Wait Now + TimeValue(„00:00:01″)
      Next
      Application.StatusBar = False
      End Sub”

      Előre is köszönöm a segítéseg!

      • A témakör módosításra került: 5 years, 4 months telt el-NIN.
      #5446
      Sicamber
      Felhasználó

        Szia!
        Ezt a frissítéses dolgot nem vágom, de – hátha segít – az alábbi linken a következőképp oldottam meg az adatösszesítést:

        – adat1.xlsm és adat2.xlsm fájlokban lévő makrók mentés hatására beleírják az adataikat az összesítés.xls fájl megfelelő munkalapjára. (Mindig az egész munkalap egész tartalma másolódik, így a törlés és egyéb módosítások sem okoznak külön problémát az összesítésnél.)
        – Az összesít.xls fájlban képletekkel összesítem a fájlban lévő lapokat egy közösbe.
        – Ha többen egyszerre mentenek, akkor a program szól, hogy most nem sikerült az adatok „áttöltése”, próbálkozz újra a mentéssel.

        a link:
        http://excel-bazis.hu/forumok/topic/excelre-hivatkozo-word-korlevel-abszolut-hivatkozasanak-relativva-tetele
        hozzászólás időpontja: 2018-04-14-01:22
        minták.zip (ebből neked csak az excelek kellenek)

        #5449
        horvimi
        Adminisztrátor

          Szia!

          Többször elolvastam, de nem teljesen világos, hogy mit csinálsz. Kevered a szakkifejezéseket elég rendesen.
          Kezdve már a címmel, hogy körkörös hivatkozás. Na mindegy…

          Hogy mit szeretnél, azt nagyjából értem, de azért igazold vissza:

          – Van 5 munkafüzet, amiben dolgozik 5 kolléga. Ezek a hálózaton vannak.
          – Van egy összesítő munkafüzet szintén a hálózaton, amibe össze szeretnéd gyűjteni az 5 külön munkafüzetbe felvitt sorokat.
          – Miközben a kollégák dolgoznak a saját fájlokon, és néha mentenek, az új adatok is kerüljenek bele az összesítőbe, ha frissítést kérsz
          – Ezt megoldottad képletekkel
          – Ez működik valahogy, de túl sokáig tart a frissítés

          Ami nem világos:

          Mit szeretnél eredményül kapni?

          – Az 5 munkafüzetben lévő sorokat úgy, mintha egymás alá vették volna fel? Tehát mintha az 5 munkalapot egy közös fejléccel egymás alá másolnátok?
          – Vagy az 5 munkafüzetben lévő oszlopok szummáját szeretnéd látni oszloponként?

          Kéne valami móricka példa, mondjuk 2 input fájl és az összesítő.

          Imre

          #5462
          NIN
          Felhasználó

            Szia Imre!

            Készítettem egy mintacsomagot!
            Beviteli1-5 füzetek a források
            „Összesítőbe” gyűjtöm „Beviteli munkafüzetek gyűjtője” munkalapra adatgyűjtés funkcióval összesítem / 1000 -1000 sort másolok össze füzetenként , sajnos nem tudom miként lehetne egyszerűbben csak a kitöltött sorokat átvinni /

            Innen átviszem a „Összesítő_rajzszámgeneráló”-ba leszámoltatom az „A-O-K” betűket és innen visszamásolom a kapott értéketekt / az üres cellákkal együtt ( „Beviteli1” be 2-1002 ig; „Beviteli2” be 1003-2003 ig; és így tovább )

            Sajnos valami probléma jelentkezett – eddig működött- , mert nem tudom visszahivatkozni „#Érték+ et ír ki.
            „Bevitel3” ban írtam erről megjegyzést!

            „Bevitel1” működik jól, a többi nem!

            Az eredeti problémám az volt, hogy nem tudom az „Összesítő” munkafüzet frissítését 60 mp alá vinni.
            Szeretném valahogy megoldani, ha bármelyik beviteli munkafüzetben módosítok, akkor azonnal frissüljön!

            Emiatt írtam, hogy körkörösen hivatkozok, de ahogy említetted tévesen!

            Csatolom a mintamappát!

            Előre is köszönöm a segítséget!

            Üdvözlettel NIN

            • A hozzászólás módosításra került: 5 years, 4 months telt el-NIN.
            Attachments:
            You must be logged in to view attached files.
            #5466
            horvimi
            Adminisztrátor

              Na, nagyjából értem mit akarsz csinálni.
              Elég rettenetes öszebarkácsolmány amit csináltál, és nem is lesz ez így jó.

              Előbb leírom, hogy mit értek eddig:

              • A beviteli munkafüzeteken felvitt rekordokat egy közös fejléccel szeretnéd összemásolni egy összesítő munkafüzetbe.
              • Az összesítő munkafüzet folyamatosan nyitva van.
              • Azt szeretnéd, hogy ha valamelyik beviteli füzetben módosítanak vagy újat visznek fel, az összefűzött eredmény is frissüljön.
              • Az összefűzött lista alapján generált egyedi azonosítók kerüljenek át a beviteli munkafüzetekbe rekordonként.

              Ha jól gondolom a beviteli munkafüzetek más-más kolléga gépén lesznek használva, és lesz egy gép, amin az összesítő munkafüzet van, és folyamatosan nézi valaki.

              A problémák, amiket látok (lehet, hogy rosszul)
              A gyűjtő munkafüzetben generált egyedi kódok csak akkor kerülnek vissza a beviteli füzetekbe, ha a gyűjtőt frissíted, hogy kerüljenek át az új rekordok, majd elmented, és a beviteli munkalapok külső linkjeit is frissíted. Ez nem nagyon automatizálható, mivel külön-külön gépen vannak.

              A beviteli lapokon előre lehúztad 1000 rekordig a képleteket, generálva a hibaüzeneteket.
              Én ezeket is táblázattá alakítanám, és akkor magától kiterjed.

              Nem fog így normálisan működni.

              Kérdések és javaslatok
              Mi lenne, ha az egyedi rekord azonosítót a beviteli lapokon képeznéd úgy, ahogy egy korábbi kérdésednél javasoltam, de belevennéd azt, hogy az adott rekord melyik beviteli fájlból származik. Ezt lehetne úgy, hogy a számozás máshonnan indul az egyes beviteli lapokon.
              pl. az első 1001, 1002, stb, a második 2001, 2002, stb, és így a többire is.
              Így csak simán össze kellene fűzni a táblákat, és nem kellene új rekord azonosítót gyártni, és azt valahogy visszajuttatni az eredeti beviteli fájlokba.

              Ekkor már csak a frissítés kérdése maradna, ami automatikusan soha nem fog megvalósulni így, tehát
              1. A beviteli lapokat menteni kell
              2. Az összesítő lapot kézzel vagy makróval frissítgetni bizonyos időnként.

              Teljesen másik út lehet esetleg az, hogy ha minden egy munkafüzetben van, és kísérletezel a közös használattal, de ez újabb problémákat rejt, ezért csak megemlítem.

              Csináltam egy ilyen modellt és csatoltam
              – A beviteli lapokat kitakarítottam, csak a táblázat van rajtuk, mindenhol ugyanaz a neve (ez fontos)
              – Mindegyikben máshol kezdődik a számozás (A SZÖVEG+DARABTELI képletben van, hogy honnan kezdje)
              – Külön mappába tetten őket
              – Egy eredmény munkafüzetbe összefűztem mappából Power Query-vel
              – Betöltöttem őket.
              Beállítottam, hogy megnyitáskor, illetve 1 percenkét automatikusan frissítsen. Működik.
              Tehát ha dolgoznak a beviteli munkafüzeteken és ott rendesen mentenek minden bevitel után, akkor 1 percen belüllátszódni fog ez az összefűzött fájlban is.

              Testreszabás
              Ha letöltöd, akkor csomagold ki, és a gyűjtó fájlban módosítsd a lekérdezések első lépésében (forrás) az utvonalakat, (ahol találsz) a sajátra.
              A lekérdezéseket dupla klikkel tudod megnyitni.

              December 27-én leszek legközelebb.

              Boldog Karácsonyt!

              Imre

              • A hozzászólás módosításra került: 5 years, 4 months telt el-horvimi.
              Attachments:
              You must be logged in to view attached files.
            5 bejegyzés megtekintése - 1-5 / 5
            • Be kell jelentkezni a hozzászóláshoz.