Si të përditësoni periodikisht një fletë pune në Excel me një kohëmatës VBA

Ky artikull tregon se si të rifreskoni një fletë pune ose grafik në intervale të rregullta. Ky ushtrim ndërton një kohëmatës që rifreskon fletën e punës çdo një minutë, duke reflektuar ndryshimet në të dhënat e burimit.

Ky artikull supozon se lexuesi ka të shfaqur shiritin e Zhvilluesit dhe është i njohur me Redaktuesin VBA. Nëse jo, ju lutemi Google "Excel Developer Tab" ose "Excel Code Window".

Mund të gjendet një shembull i fletores së punës të përdorur në këtë ushtrim këtu.

Përdorimet e raportimit dinamik mund të jenë:

  • Leximi i bazës së të dhënave të patentuar të ofruar me sistemin telefonik të kompanisë suaj, për të analizuar thirrjet.
  • Gjeneroni një numër të rastësishëm çdo 15 minuta për qëllime çmimesh ose lotarish.
  • Dërgoni automatikisht email nga databaza juaj lokale kur plotësohen nivele të caktuara. (këtu kohëmatësi do të vendosë nëse do ta ndezë procesin apo jo, bazuar në nivelet e arritura).

ose, ai që do të përdorim:

  • Shfaq kursin më të fundit të këmbimit USD/EUR nga interneti.

Të dhënat janë nxjerrë nga Faqja e internetit Yahoo Finance çdo një minutë. Pasi të testohet me sukses, duhet të zëvendësohet një interval më i gjatë përpunimi.

Ndërfaqja

Hapni një libër të ri pune;

Emërtoni fletën e parë "Ekran". Meqenëse tabela D8 deri në E11 do të plotësohet nga ueb, vlerat ose titujt e rreshtave nuk duhet të futen. Pjesa tjetër është fakultative.Përgatitni ndërfaqen

Kodi

Hapni dritaren e kodit VBA dhe futni një modul. Kopjoni kodin më poshtë në modul.

Ngjarja Auto_Open fillon Kohëmatësin kur hapet libri i punës dhe ndalet kur libri i punës mbyllet, përveç nëse kodi ndërpritet nga zhvilluesi gjatë zhvillimit.Kodi 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

Rezultati

Çdo n minuta, tabela në fletën "Display" do të përditësohet nga faqja e internetit e Yahoo. Referojuni faqes së internetit të Microsoft-it për lidhje më komplekse të të dhënave.

Rikuperimi i librave të dëmtuar të punës

Excel njihet për bllokime në momente të papritura, ndoshta të lidhura me mungesën e burimeve. Në raste të tilla, skedari burimor mund të dëmtohet në mënyrë të pakthyeshme dhe të mos hapet përsëri. Në mungesë të një kopjeje rezervë të shpeshtë, një mjet për të rikuperuar Excel i korruptuar dosjet do të ishin të paçmueshme.

Hyrje e autorit:

Felix Hooker është një ekspert i rikuperimit të të dhënave në DataNumen, Inc., e cila është lider botëror në teknologjitë e rikuperimit të të dhënave, duke përfshirë rregullim i rar-it dhe produkte softuerike për rikuperimin sql. Për më shumë informacion vizitoni www.datanumen.com

Komentet janë të mbyllura.