W tym artykule pokazano, jak odświeżać arkusz lub wykres w regularnych odstępach czasu. To ćwiczenie tworzy licznik czasu, który odświeża arkusz co minutę, odzwierciedlając zmiany w danych źródłowych.
W tym artykule założono, że czytelnik ma wyświetloną wstążkę programisty i zna edytor VBA. Jeśli nie, wybierz Google „Excel Developer Tab” lub „Excel Code Window”.
Można znaleźć przykład skoroszytu używanego w tym ćwiczeniu w tym miejscu.
Zastosowania raportowania dynamicznego mogą być następujące:
- Odczyt zastrzeżonej bazy danych dostarczonej wraz z systemem telefonicznym Twojej firmy w celu analizy rozmów.
- Generuj losową liczbę co 15 minut w celu zdobycia nagrody lub loterii.
- Automatycznie wysyłaj wiadomości e-mail z lokalnej bazy danych, gdy zostaną spełnione określone poziomy. (tutaj licznik czasu zdecyduje, czy uruchomić proces, czy nie, w oparciu o osiągnięte poziomy).
lub ten, którego użyjemy:
- Wyświetl najnowszy kurs wymiany USD/EUR z Internetu.
Dane są pobierane z Witryna Yahoo Finance co minutę. Po pomyślnym przetestowaniu należy zastąpić dłuższy interwał przetwarzania.
Interfejs
Otwórz nowy skoroszyt;
Nazwij pierwszy arkusz „Wyświetl”. Ponieważ tabele od D8 do E11 zostaną wypełnione z sieci, nie trzeba wprowadzać wartości ani nagłówków wierszy. Reszta jest opcjonalna.
Kod
Otwórz okno kodu VBA i wstaw moduł. Skopiuj poniższy kod do modułu.
Zdarzenie Auto_Open uruchamia Timer w momencie otwarcia skoroszytu i zatrzymuje się w momencie jego zamknięcia, chyba że kod zostanie przerwany przez programistę w trakcie tworzenia.
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
Wynik
Co n minut tabela w Arkuszu „Wyświetl” będzie aktualizowana ze strony internetowej Yahoo. Więcej informacji na temat bardziej złożonych połączeń danych można znaleźć w witrynie firmy Microsoft.
Odzyskiwanie uszkodzonych skoroszytów
Excel może ulegać nieoczekiwanym awariom, prawdopodobnie z powodu braku zasobów. W takich przypadkach plik źródłowy może zostać nieodwracalnie uszkodzony i nie będzie można go ponownie otworzyć. W przypadku braku regularnego tworzenia kopii zapasowych, narzędzie do odzyskiwania danych uszkodzony Excel pliki byłyby nieocenione.
Wprowadzenie autora:
Felix Hooker jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym poprawka rar i oprogramowanie do odzyskiwania sql. po więcej informacji odwiedź www.datanumen.com

