Excel automatikus frissítési és újraszámítási trükkök

Köszönjük, hogy csatlakozott hozzánk! Pillanatok alatt üdvözlő üzenetet kap.

Számos módja van annak, hogy az Excel automatikusan frissítse az adatkapcsolatokat és újraszámolja a munkalapot. Ezek a trükkök sokkal fontosabbak a Microsoft 365-ügyfelek Excel adattípusánál.

Általában az Excel frissíti magát, amikor változtat cellaérték. Manapság vannak olyan helyzetek, amikor a cellák megváltoztatják az értéket, de az Excel NEM frissíti a munkalapot. Más szóval, a modern Excel megváltozott olyan módon, amelyhez a Microsoft még nem alkalmazkodott teljes mértékben.

Ideális esetben Az Excel általános beállítással a munkalapot n-másodpercenként vagy percenként frissíti. A jelenlegi állapotban megkerülésekre van szükségünk ahhoz, hogy megvalósulhasson.

Íme néhány olyan helyzet, amikor szükség lehet az adatok frissítésére vagy újraszámolására, vagy körültekintő.

Készlet adattípus

A készlet adattípussal fontosabb az automatikus frissítés. A felhasználók azt akarják, hogy munkalapjaik megragadják a latot Az árak automatikusan, amit a jelenlegi előzetes kiadások nem tudnak megtenni. Ahelyett, hogy egy szép automatikus „ticker” lenne, várhatóan a „Frissítés” gombra kattintva megkapjuk a legfrissebb árakat.

A részvény és a földrajzi adattípusok kíváncsi állatok. Külső forrásokkal történő adatkapcsolatok, de NEM jelennek meg Excel adatkapcsolatokként. Ez azt jelenti, hogy nem lehet beállítani az automatikus adatfrissítést, mint a normál adatkapcsolatok esetén. Valójában nincsenek kitett vezérlők a részvény vagy a földrajzi adattípusok esetében.

MOST () és más illékony funkciók

A NOW () függvény a legfrissebb dátumra és időre frissül, amikor az Excel újraszámolja a munkalapot. De ha nincs mit megvalósítani, akkor a Now () nem változtatja meg az értékét. Valamilyen külső tényezőre van szükség az Excel frissítésének most () és a munkalap többi részének elkészítéséhez. Más szavakkal, képesnek kell lennie egy munkalapra pillantani, és tudnia kell, hogy ez a második feladata, de ez nem lehetséges az Excel out of the box alkalmazásával.

A VBA egyéni függvények illékonyként is megcímkézhetők a ez a sor a függvénykódban:

Application.Volatile

Ez a sor teszi a függvényt bármikor futtatásra, amikor az Excel frissíti / újraszámolja a munkalapot.

Extra óvatosság

Lehet, hogy elővigyázatosságból szeretné, ha munkalapja automatikusan frissülne? Sok régi Excel kéz emlékszik azokra a helyzetekre, amikor az Excel nem frissült megfelelően, ezért szereti az „öv és a nadrágtartó” megközelítést (legalábbis alkalmanként).

Kód

Az automatikus kényszerítés szokásos módszere Az Excel frissítése egy rövid VBA-kódrészlet. Ezt használjuk, sok variáció létezik ugyanarra a témára. A teljes kód a cikk alján található.

Három funkció van.

RefreshAllDataConn

elvégzi az adatkapcsolatok tényleges frissítését (Munkafüzetek (ThisWorkbook.Name) .RefreshAll), és két, választható sort felvettünk az utolsó frissített idő megjelenítéséhez az alsó állapotsoron.

Ha rendkívül óvatos akart lenni, adjon hozzá sort az újraszámítás kifejezett kényszerítéséhez. Akár ActiveSheet.Calculate, akár a szélsőséges Application.CalculateFull (ez lelassítana egy nagy munkalapot, takarékosan használja).

Automatikus frissítés

Futtassa a RefreshAllDataConn alfontosságot percenként, vagy bármilyen beállított értéket. az Application.OnTime Now + TimeValue (“00:01:00”), “AutoRefresh” sor.

Workbook_Open

a beépített Excel funkció, amely a munkalap megnyitásakor automatikusan fut . Ebben az esetben elindítja az AutoRefresh funkciót.

Adatkapcsolat megoldása

A VBA megközelítés hátránya, hogy .xlsm munkalapra van szükség (makróval engedélyezett Excel munkalap). Biztonsági okokból problémákat okozhat a makróval engedélyezett fájlok megosztása.

A PowerQuery / Get and Transform érkezése azt jelenti, hogy egy másik módszer is kényszeríteni kell a munkalap újraszámítását. Megkerülő megoldás és nem tökéletes, de lehetséges, és nincs szüksége makróval engedélyezett munkalapra.

Röviden, győződjön meg arról, hogy van-e adatfrissítés automatikus frissítéssel. Ha nincs adatkapcsolat, vegyen fel egy kisebbet a munkalapba.

Ha automatikusan frissül a lekérdezés, akkor az összes illékony funkciót tartalmazó munkalapnak is frissülnie kell.

Ideális esetben a részvény és a földrajzi adattípusoknak is frissülniük kell.

Bármely Excel adatlekérdezéshez tartozik néhány frissítési lehetőség a Lekérdezés tulajdonságokban. Legtöbbjük alapértelmezés szerint KI.

Frissítés nnn percenként – alapértelmezés szerint 60 perc javasolt.

Frissítse az adatokat a fájl megnyitásakor.

Engedélyezze a háttérfrissítést.

Frissítse a kapcsolatot az Összes frissítése oldalon.

Az automatikus frissítés megoldása egy kicsi és gyakorlatilag jelentéktelen adatkapcsolat. Ezután állítsa be azt az adatkapcsolatot, hogy percenként vagy bármikor frissüljön. Ennek arra kell kényszerítenie a munkalapot, hogy frissítse a fent említett illékony funkciókat is.

Ennek a megoldásnak néhány verziója hivatkozást ad egy apró csv fájlra ugyanazon a számítógépen. Ugyanezt az eredményt kaptuk a munkalap táblázatának adatkapcsolatával.

Hozzon létre egy kis táblát egyetlen cellával. A cellának bármi lehet, de létrehozunk egy cellát, amelyben NOW () van, bizonyos okokból később elmagyarázzuk.

Válassza ki a táblázatot, majd válassza az Adat | Adatok lekérése Más forrásokból táblázatból / tartományból. A pontos menüpont eltérhet az Excel verziójától.

Amikor megnyílik a Lekérdező szerkesztő, egyszerűen zárja be és töltse be . Az adatkapcsolatok ablaktáblában megjelenik egy lekérdezés.

Kattintson a jobb gombbal a lekérdezésre, válassza ki a tulajdonságokat a a szükséges beállítások.

Állítsa be a megfelelő frissítési gyakoriságot.

A rendezettség érdekében helyezze a forrás táblát (jobbra) ugyanarra a lapra a betöltött lekérdezésnél (balra). Mivel a NOW () elemet használtuk a forrás táblázat cellájában, könnyen látható lesz, hogy mikor frissült a munkalap.

VBA kód példa

Sub RefreshAllDataConn() " Refresh all Data Connections. " This should include Stock and Geo data types, even though they aren"t listed. Workbooks(ThisWorkbook.Name).RefreshAll " Show update time on status bar to confirm. " comment these lines out if not needed. Application.DisplayStatusBar = True Application.StatusBar = "Refreshed at: " & Now()End SubSub AutoRefresh()" to run a Refresh All on the workbook every n minutes RefreshAllDataConn " Repeat every minute or change to whatever value you prefer. Application.OnTime Now + TimeValue("00:01:00"), "AutoRefresh"" this is a simple example. There"s no coded way to exit this function.End SubPrivate Sub Workbook_Open()" Starts the automatic refresh when the workbook is opened," commented out as a precaution. " AutoRefreshEnd Sub

Készítsen automatikus Excel munkalaplistát vagy tartalomjegyzéket

Töltse ki az Excel NetworkDays () megoldást ünnepekkel & vakáció

Köszönjük, hogy csatlakozott hozzánk! Pillanatok alatt üdvözlő üzenetet kap.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük