Šiame straipsnyje parodyta, kaip reguliariais intervalais atnaujinti darbalapį arba diagramą. Šis pratimas sukuria laikmatį, kuris kas minutę atnaujina darbalapį, atspindėdamas šaltinio duomenų pokyčius.
Šiame straipsnyje daroma prielaida, kad skaitytojas turi rodomą kūrėjo juostelę ir yra susipažinęs su VBA redaktoriumi. Jei ne, naudokite Google „Excel Developer Tab“ arba „Excel Code Window“.
Šiame pratime naudotos darbaknygės pavyzdį galite rasti čia.
Dinaminės ataskaitos gali būti naudojamos:
- Skaityti patentuotą duomenų bazę, pateiktą kartu su jūsų įmonės telefono sistema, siekiant analizuoti skambučius.
- Kas 15 minučių sugeneruokite atsitiktinį skaičių prizų ar loterijų tikslais.
- Automatiškai siųsti el. laiškus iš vietinės duomenų bazės, kai pasiekiami tam tikri lygiai. (čia laikmatis, atsižvelgdamas į pasiektus lygius, nuspręs, ar suaktyvinti procesą, ar ne).
arba tą, kurį naudosime:
- Rodyti naujausią USD/EUR kursą iš interneto.
Duomenys išgauti iš Yahoo Finance svetainė kas vieną minutę. Sėkmingai patikrinus, reikia pakeisti ilgesnį apdorojimo intervalą.
Sąsaja
Atidarykite naują darbaknygę;
Pirmąjį lapą pavadinkite „Ekranas“. Kadangi lentelės D8–E11 bus užpildytos iš interneto, reikšmių ar eilučių antraščių įvesti nereikia. Likusi dalis yra neprivaloma.
Kodeksas
Atidarykite VBA kodo langą ir įdėkite modulį. Nukopijuokite žemiau esantį kodą į modulį.
Įvykis „Auto_Open“ paleidžia laikmatį, kai atidaroma darbaknygė, ir sustabdo jį, kai ji uždaroma, nebent kūrėjas kūrimo metu nutraukia kodą.
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
Rezultatas
Kas n minučių lentelė lape „Ekranas“ bus atnaujinama „Yahoo“ svetainėje. Sudėtingesnius duomenų ryšius rasite „Microsoft“ svetainėje.
Sugadintų darbo knygų atkūrimas
„Excel“ programa kartais užstringa netikėtais momentais, tikriausiai dėl išteklių trūkumo. Tokiais atvejais šaltinio failas gali būti negrįžtamai sugadintas ir jo neįmanoma atidaryti iš naujo. Jei dažnai nekuriamos atsarginės kopijos, reikalingas įrankis duomenų atkūrimui. sugadintas Excel failai būtų neįkainojami.
Autoriaus įvadas:
Felixas Hookeris yra duomenų atkūrimo ekspertas DataNumen, Inc., kuri yra pasaulyje duomenų atkūrimo technologijų lyderė, įskaitant rar pataisymas ir sql atkūrimo programinės įrangos produktai. Norėdami gauti daugiau informacijos, apsilankykite WWW.datanumen.com

