Bu makale, bir çalışma sayfasının veya grafiğin düzenli aralıklarla nasıl yenileneceğini gösterir. Bu alıştırma, çalışma sayfasını her dakikada bir yenileyerek kaynak verilerdeki değişiklikleri yansıtan bir zamanlayıcı oluşturur.
Bu makalede, okuyucunun Geliştirici şeridinin görüntülendiği ve VBA Düzenleyicisine aşina olduğu varsayılmaktadır. Değilse, lütfen Google "Excel Geliştirici Sekmesi" veya "Excel Kod Penceresi".
Bu alıştırmada kullanılan çalışma kitabının bir örneği bulunabilir. okuyun.
Dinamik raporlamanın kullanım alanları şunlar olabilir:
- Şirketinizin telefon sistemiyle birlikte verilen özel veri tabanını okuyarak gelen aramaları analiz etmek.
- Ödül veya çekiliş amacıyla her 15 dakikada bir rastgele bir sayı oluşturun.
- Belirli düzeyler karşılandığında yerel veritabanınızdan e-postaları otomatik olarak gönderin. (burada zamanlayıcı, elde edilen seviyelere göre sürecin başlatılıp başlatılmayacağına karar verecektir).
veya kullanacağımız:
- İnternetten en son USD/EUR döviz kurunu görüntüleyin.
Veriler, Yahoo Finans web sitesi her bir dakikada Başarıyla test edildikten sonra, daha uzun bir işleme aralığı değiştirilmelidir.
Arayüz
Yeni bir çalışma kitabı açın;
İlk sayfayı “Ekran” olarak adlandırın. D8 ila E11 tablosu web'den doldurulacağından, değerlerin veya satır başlıklarının girilmesine gerek yoktur. Gerisi isteğe bağlıdır.
Kod
VBA kodu penceresini açın ve bir modül ekleyin. Aşağıdaki kodu modüle kopyalayın.
Auto_Open olayı, çalışma kitabı açıldığında zamanlayıcıyı başlatır ve geliştirme sırasında geliştirici tarafından kod kesintiye uğratılmadığı sürece çalışma kitabı kapandığında durdurur.
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
Sonuç
Her n dakikada bir "Ekran" Sayfasındaki tablo Yahoo web sitesinden güncellenecektir. Daha karmaşık veri bağlantıları için Microsoft'un web sitesine bakın.
Bozuk çalışma kitaplarını kurtarma
Excel'in beklenmedik anlarda, muhtemelen kaynak yetersizliğinden dolayı çöktüğü bilinmektedir. Bu gibi durumlarda kaynak dosya geri dönüşü olmayan şekilde hasar görebilir ve yeniden açılmayı reddedebilir. Sık yedekleme yapılmadığı durumlarda, kurtarma aracı gereklidir. bozuk Excel dosyalar çok değerli olacaktır.
Yazar Tanıtımı:
Felix Hooker, veri kurtarma uzmanıdır. DataNumendahil olmak üzere veri kurtarma teknolojilerinde dünya lideri olan , Inc. rar düzeltmesi ve sql kurtarma yazılımı ürünleri. Daha fazla bilgi için ziyaret edin www.datanumen.com

