Denne artikel viser, hvordan du opdaterer et regneark eller diagram med regelmæssige intervaller. Denne øvelse bygger en timer, der opdaterer regnearket hvert minut og afspejler ændringer i kildedataene.
Denne artikel antager, at læseren har udviklerbåndet vist og er fortrolig med VBA Editor. Hvis ikke, bedes du Google “fanen Excel-udvikler” eller “vinduet Excel-kode”.
Et eksempel på den projektmappe, der bruges i denne øvelse, kan findes link..
Anvendelse af dynamisk rapportering kan være:
- Læsning af den proprietære database, der følger med dit firmas telefonsystem, for at analysere opkald.
- Generer et tilfældigt tal hvert 15. minut til præmie- eller lodtrækningsformål.
- Send automatisk e-mails fra din lokale database, når visse niveauer er opfyldt. (her bestemmer timeren, om processen skal affyres eller ej, baseret på opnåede niveauer).
eller den, vi vil bruge:
- Vis den seneste USD / EUR-valutakurs fra internettet.
Dataene udvindes fra Yahoo Finance-websted hvert minut. Når det er testet, skal et længere behandlingsinterval erstattes.
Interface
Åbn en ny projektmappe;
Navngiv det første ark "Display". Da tabellen D8 til E11 udfyldes fra internettet, behøver værdier eller rækkeoverskrifter ikke at blive indtastet. Resten er valgfri.
Koden
Åbn VBA-kodevinduet, og indsæt et modul. Kopiér nedenstående kode i modulet.
Auto_Open-hændelsen starter timeren, når projektmappen åbnes, og stopper, når projektmappen lukkes, medmindre koden afbrydes af udvikleren under udviklingen.
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
Resultat
Hvert n. Minut opdateres tabellen i Ark "Display" fra Yahoo-webstedet. Se Microsofts websted for mere komplekse dataforbindelser.
Gendannelse af beskadigede projektmapper
Excel har været kendt for at gå ned på uventede tidspunkter, sandsynligvis relateret til en mangel på ressourcer. I sådanne tilfælde kan kildefilen blive uigenkaldeligt beskadiget og nægte at åbne igen. I mangel af hyppig sikkerhedskopiering er et værktøj til gendannelse ødelagt Excel filer ville være uvurderlige.
Forfatter Introduktion:
Felix Hooker er en datagendannelsesekspert i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder rar-rettelse og SQL-genopretningssoftwareprodukter. For mere information besøg www.datanumen.com

