VBA Zamanlayıcı ile Excel Çalışma Sayfasını Periyodik Olarak Güncelleme

Şimdi paylaş:

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.Arayüzü Hazırlayın

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.VBA Kodu

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

Şimdi paylaş:

Yoruma kapalı.