Ez a cikk bemutatja, hogyan frissíthet rendszeres időközönként egy munkalapot vagy diagramot. Ez a gyakorlat egy időzítőt épít fel, amely percenként frissíti a munkalapot, tükrözve a forrásadatok változásait.
Ez a cikk feltételezi, hogy az olvasó megjeleníti a Fejlesztői szalagot, és ismeri a VBA-szerkesztőt. Ha nem, használja a Google „Excel Developer Tab” vagy az „Excel Code Window” szolgáltatását.
Példa a gyakorlatban használt munkafüzetre található itt .
A dinamikus jelentéskészítés a következők lehetnek:
- A vállalati telefonrendszerhez mellékelt saját adatbázis olvasása a hívások elemzése érdekében.
- Hozz létre egy véletlen számot 15 percenként nyeremény vagy tombola céljára.
- Automatikus e-mailek küldése a helyi adatbázisból, ha bizonyos szintek teljesülnek. (itt az időzítő az elért szintek alapján dönti el, hogy elindítja-e a folyamatot vagy sem).
vagy azt, amelyet használni fogunk:
- Jelenítse meg a legújabb USD/EUR árfolyamot az internetről.
Az adatokat a Yahoo Finance webhely minden egyes percben. Sikeres tesztelés után hosszabb feldolgozási intervallumot kell helyettesíteni.
Az interfész
Nyisson meg egy új munkafüzetet;
Nevezze el az első lapot „Kijelző”. Mivel a D8–E11 táblázat az internetről lesz kitöltve, az értékeket vagy a sorfejléceket nem kell megadni. A többi nem kötelező.
A kód
Nyissa meg a VBA kód ablakot, és helyezzen be egy modult. Másolja be az alábbi kódot a modulba.
Az Auto_Open esemény a munkafüzet megnyitásakor indítja el az időzítőt, és a munkafüzet bezárásakor áll le, kivéve, ha a fejlesztő megszakítja a kódot fejlesztés közben.
Sub Auto_Open()
AlertTime = Now + TimeValue("00:01:00") 'interval in minutes
Application.OnTime AlertTime, "Ticker" 'call Sub Ticker, below
End Sub
Sub Ticker()
Dim currBuy As String
Dim currSell As String
Range("D8:F11").ClearContents 'prepare the destination for the web data
currBuy = "USD"
currSell = "EUR"
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://finance.yahoo.com/q?s=" & currBuy & currSell & "=X", Destination:=Range("$D$8"))
.Name = "q?s=" & currSell & currBuy & "=X"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = """table1"""
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
AlertTime = Now + TimeValue("00:01:00") ‘move trigger on a minute
Application.OnTime AlertTime, "Ticker"
End Sub
Az eredmény
Minden n percben frissül a táblázat a „Megjelenítés” lapon a Yahoo webhelyéről. A bonyolultabb adatkapcsolatokért keresse fel a Microsoft webhelyét.
Sérült munkafüzetek helyreállítása
Az Excelről köztudott, hogy váratlan pillanatokban összeomlik, valószínűleg az erőforrások hiánya miatt. Ilyen esetekben a forrásfájl visszavonhatatlanul megsérülhet, és nem nyitható meg újra. Gyakori biztonsági mentés hiányában egy eszköz a helyreállításhoz... sérült Excel fájlok felbecsülhetetlen értékűek lennének.
Szerző Bevezetés:
Felix Hooker adat-helyreállítási szakértő DataNumen, Inc., amely világelső az adat-helyreállítási technológiák területén, beleértve rar javítás és SQL helyreállítási szoftvertermékek. További információért látogasson el www.datanumen.com

