Tässä artikkelissa kerrotaan, kuinka laskentataulukko tai kaavio päivitetään säännöllisin väliajoin. Tämä harjoitus rakentaa ajastimen, joka päivittää laskentataulukon minuutin välein, mikä heijastaa lähdetietojen muutoksia.
Tässä artikkelissa oletetaan, että lukijalla on kehittäjänauha ja että hän tuntee VBA-editorin. Jos ei, ota Google "Excel Developer -välilehti" tai "Excel Code -ikkuna".
Löydetään esimerkki tässä harjoituksessa käytetystä työkirjasta täältä.
Dynaamisen raportoinnin käyttötarkoitukset voivat olla:
- Yrityksesi puhelinjärjestelmän mukana toimitetun oman tietokannan lukeminen puheluiden analysointia varten.
- Luo satunnaisluku 15 minuutin välein palkinto- tai arvontatarkoituksiin.
- Lähetä sähköpostit automaattisesti paikallisesta tietokannasta, kun tietyt tasot saavutetaan. (tässä ajastin päättää, käynnistetäänkö prosessi vai ei, saavutettujen tasojen perusteella).
tai jota käytämme:
- Näytä uusin USD / EUR-valuuttakurssi Internetistä.
Tiedot puretaan Yahoo Finance -sivusto minuutin välein. Kun testi on onnistunut, pidempi käsittelyväli tulisi korvata.
Liitäntä
Avaa uusi työkirja;
Nimeä ensimmäinen arkki "Näyttö". Koska taulukot D8 - E11 täytetään verkosta, arvoja tai rivikohtia ei tarvitse syöttää. Loput ovat valinnaisia.
Koodi
Avaa VBA-koodi-ikkuna ja aseta moduuli. Kopioi alla oleva koodi moduuliin.
Auto_Open-tapahtuma käynnistää ajastimen, kun työkirja avautuu, ja pysähtyy, kun työkirja sulkeutuu, ellei kehittäjä keskeytä koodia kehityksen aikana.
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
Lopputulos
N-minuutin välein taulukon "Näyttö" taulukko päivitetään Yahoo-verkkosivustolta. Katso monimutkaisemmat datayhteydet Microsoftin verkkosivustolta.
Vioittuneiden työkirjojen palauttaminen
Excelin tiedetään kaatuvan odottamattomissa tilanteissa, luultavasti resurssien puutteen vuoksi. Tällaisissa tapauksissa lähdetiedosto voi vaurioitua peruuttamattomasti, eikä sitä voida avata uudelleen. Jos varmuuskopioita ei tehdä usein, työkalu tiedoston palauttamiseksi on olemassa. vioittunut Excel tiedostot olisivat korvaamattomia.
Tekijän esittely:
Felix Hooker on tietojen palauttamisen asiantuntija DataNumen, Inc., joka on maailman johtava tietojen palautustekniikoissa, mukaan lukien rar-korjaus ja sql-palautusohjelmistotuotteet. Lisätietoja osoitteessa www.datanumen.com

