Artikel ini menunjukkan cara memuat semula lembaran kerja atau carta secara berkala. Latihan ini membina pemasa yang menyegarkan lembaran kerja setiap satu minit, mencerminkan perubahan dalam data sumber.
Artikel ini menganggap pembaca memaparkan pita Pengembang dan sudah biasa dengan Editor VBA. Sekiranya tidak, sila Google "Tab Pembangun Excel" atau "Tetingkap Kod Excel".
Contoh buku kerja yang digunakan dalam latihan ini boleh didapati di sini.
Penggunaan pelaporan dinamik mungkin:
- Membaca pangkalan data proprietari yang dibekalkan dengan sistem telefon syarikat anda untuk menganalisis panggilan.
- Hasilkan nombor rawak setiap 15 minit untuk tujuan hadiah atau undian.
- Hantar e-mel secara automatik dari pangkalan data tempatan anda apabila tahap tertentu dipenuhi. (di sini pemasa akan memutuskan sama ada untuk menjalankan proses tersebut atau tidak, berdasarkan tahap yang dicapai).
atau, yang akan kita gunakan:
- Paparkan kadar pertukaran USD / EUR terkini dari internet.
Data diekstrak dari Laman web Yahoo Finance setiap satu minit. Setelah berjaya diuji, selang pemprosesan yang lebih lama harus diganti.
Antara Muka
Buka buku kerja baru;
Namakan helaian pertama "Paparan". Oleh kerana jadual D8 hingga E11 akan diisi dari web, nilai atau judul baris tidak perlu dimasukkan. Selebihnya adalah pilihan.
Kod ini
Buka tetingkap kod VBA dan masukkan modul. Salin kod di bawah ke dalam modul.
Peristiwa Auto_Open memulakan Pemasa apabila buku kerja dibuka dan berhenti apabila buku kerja ditutup, melainkan kod tersebut diganggu oleh pembangun semasa pembangunan.
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
Keputusan
Setiap minit, jadual dalam Helaian "Paparan" akan dikemas kini dari laman web Yahoo. Rujuk laman web Microsoft untuk sambungan data yang lebih kompleks.
Memulihkan buku kerja yang rosak
Excel diketahui sering mengalami ranap pada saat-saat yang tidak dijangka, mungkin berkaitan dengan kekurangan sumber pada masa itu. Dalam kes sedemikian, fail sumber boleh rosak secara tidak boleh dibatal dan enggan dibuka semula. Sekiranya tiada sandaran yang kerap, alat untuk memulihkan Excel rosak fail akan sangat berharga.
Pengenalan Pengarang:
Felix Hooker adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk pembetulan rar dan produk perisian pemulihan sql. Untuk maklumat lebih lanjut, lawati www.datanumen.com

