Kaip periodiškai atnaujinti „Excel“ darbalapį naudojant VBA laikmatį

Bendrinti dabar:

Š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.Paruoškite sąsają

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ą.VBA kodas

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

Bendrinti dabar:

Komentarai yra uždaryti.