VBA taymer yordamida Excel ish varag'ini vaqti-vaqti bilan qanday yangilash kerak

Hozir ulashing:

Ushbu maqolada ish varag'i yoki diagrammani muntazam ravishda qanday yangilash kerakligi ko'rsatilgan. Ushbu mashq manba ma'lumotlaridagi o'zgarishlarni aks ettiruvchi har bir daqiqada ish varag'ini yangilaydigan taymerni yaratadi.

Ushbu maqolada o'quvchi dasturchi tasmasi ko'rsatilgan va VBA muharriri bilan tanish deb taxmin qilinadi. Agar yo'q bo'lsa, Google "Excel Developer Tab" yoki "Excel Code Window".

Ushbu mashqda foydalanilgan ish kitobining namunasini topish mumkin Bu yerga.

Dinamik hisobotdan foydalanish quyidagilar bo'lishi mumkin:

  • Qo'ng'iroqlarni tahlil qilish uchun kompaniyangizning telefon tizimi bilan birga taqdim etilgan xususiy ma'lumotlar bazasini o'qish.
  • Sovrin yoki lotereya uchun har 15 daqiqada tasodifiy raqam yarating.
  • Muayyan darajalar bajarilganda mahalliy ma'lumotlar bazasidan elektron pochta xabarlarini avtomatik yuborish. (bu erda taymer erishilgan darajalarga qarab jarayonni o'chirish yoki yo'q qilishni hal qiladi).

yoki, biz foydalanadigan:

  • Internetdan so'nggi USD/EUR kursini ko'rsating.

Ma'lumotlar dan olinadi Yahoo Finance veb-sayti har bir daqiqada. Muvaffaqiyatli sinovdan o'tgandan so'ng, uzoqroq ishlov berish oralig'ini almashtirish kerak.

Interfeys

Yangi ish kitobini oching;

Birinchi varaqni "Displey" deb nomlang. D8 dan E11 gacha bo'lgan jadval internetdan to'ldirilganligi sababli, qiymatlar yoki qator sarlavhalarini kiritish shart emas. Qolganlari ixtiyoriy.Interfeysni tayyorlang

Kodeks

VBA kod oynasini oching va modulni joylashtiring. Quyidagi kodni modulga nusxalang.

Auto_Open hodisasi ishchi daftar ochilganda taymerni ishga tushiradi va ishchi daftar yopilganda to'xtaydi, agar kod ishlab chiquvchi tomonidan ishlab chiqish paytida to'xtatilmasa.VBA kodi

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

Natija

Har n daqiqada "Displey" jadvalidagi jadval Yahoo veb-saytidan yangilanadi. Keyinchalik murakkab ma'lumotlar ulanishlari uchun Microsoft veb-saytiga qarang.

Buzilgan ish kitoblarini tiklash

Excel kutilmagan paytlarda ishdan chiqishi ma'lum, bu ehtimol resurslarning yetishmasligi bilan bog'liq. Bunday hollarda manba fayli qaytarib bo'lmaydigan darajada shikastlanishi va qayta ochilmasligi mumkin. Tez-tez zaxira nusxasi bo'lmasa, tiklash vositasi buzilgan Excel fayllar bebaho bo'lar edi.

Muallif kirish:

Feliks Xuker ma'lumotlarni qayta tiklash bo'yicha mutaxassis DataNumenMa'lumotlarni qayta tiklash texnologiyalari bo'yicha jahon yetakchisi bo'lgan , Inc rar tuzatish va sql-ni tiklash dasturiy mahsulotlar. Qo'shimcha ma'lumot olish uchun tashrif buyuring www.datanumen.com

Hozir ulashing:

Comments are closed.