Ako pravidelne aktualizovať pracovný hárok programu Excel pomocou časovača VBA

Zdieľať teraz:

Tento článok ukazuje, ako pravidelne obnovovať pracovný hárok alebo graf. V tomto cvičení sa zostavuje časovač, ktorý obnovuje pracovný hárok každú minútu, čo odráža zmeny v zdrojových údajoch.

Tento článok predpokladá, že čitateľ má zobrazenú pásku pre vývojárov a je oboznámený s editorom VBA. Ak nie, navštívte Google kartu „Vývojár Excel“ alebo „Okno kódu Excel“.

Je možné nájsť príklad zošita použitého v tomto cvičení tu.

Možnosti dynamického prehľadu môžu byť:

  • Čítanie majetkovtarDatabáza dodávaná s telefónnym systémom vašej spoločnosti na analýzu hovorov.
  • Každých 15 minút vygenerujte náhodné číslo na účely výhry alebo tomboly.
  • Automatické odosielanie e-mailov z miestnej databázy, keď sú splnené určité úrovne. (tu časovač rozhodne, či proces má alebo nemá byť spustený, na základe dosiahnutých úrovní).

alebo ten, ktorý použijeme:

  • Zobrazte najnovší výmenný kurz USD / EUR z internetu.

Údaje sú extrahované z Web Yahoo Finance každú jednu minútu. Po úspešnom testovaní by sa mal nahradiť dlhší interval spracovania.

Rozhranie

Otvoriť nový zošit;

Prvý list pomenujte „Zobrazenie“. Pretože tabuľky D8 až E11 budú vyplnené z webu, nie je potrebné zadávať hodnoty ani nadpisy riadkov. Zvyšok je voliteľný.Pripravte rozhranie

Kódex

Otvorte okno s kódom VBA a vložte modul. Skopírujte nižšie uvedený kód do modulu.

Udalosť Auto_Open starts Časovač, keď sa zošit otvorí a zastaví sa, keď sa zošit zatvorí, pokiaľ vývojár počas vývoja kód nepreruší.Kód VBA

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

Výsledok

Každých n minút sa tabuľka v hárku „Zobrazenie“ aktualizuje z webovej stránky Yahoo. Zložitejšie dátové pripojenia nájdete na webovej stránke spoločnosti Microsoft.

Obnova poškodených zošitov

Je známe, že Excel zlyhával v neočakávaných momentoch, pravdepodobne súvisí s vtedajším nedostatkom zdrojov. V takýchto prípadoch môže byť zdrojový súbor irevocabpoškodené a odmietnite ich znovu otvoriť. Ak chýba časté zálohovanie, nástroj na obnovenie poškodený Excel súbory by boli neoceniteľné.

Úvod autora:

Felix Hooker je expert na obnovu dát v DataNumen, Inc., ktorá je svetovým lídrom v oblasti technológií obnovy dát, vrátane rar fixné a softvérové ​​produkty na obnovenie sql. Pre viac informácií navštívte www.datanumen. S

Zdieľať teraz:

Komentáre sú uzavreté.