Makronu vaxtında işə salmaq

Təcrübədə çox yaygın bir hal: müəyyən bir zamanda və ya müəyyən bir tezlikdə bir və ya bir neçə makro işlətməlisiniz. Məsələn, yarım saat yenilənən böyük və ağır hesabatınız var və səhər işə gəlməzdən yarım saat əvvəl yeniləməni işə salmaq istərdiniz. Və ya müəyyən bir tezlikdə işçilərə avtomatik olaraq e-poçt göndərməli olan bir makronuz var. Və ya Pivot Cədvəl ilə işləyərkən siz onun hər 10 saniyədən bir tez yenilənməsini istəyirsiniz və s.

Gəlin Excel və Windows-un bunu həyata keçirmək qabiliyyətinə baxaq.

Müəyyən bir tezlikdə makro işlətmək

Bunun ən asan yolu daxili VBA metodundan istifadə etməkdir Application.OnTimeMüəyyən edilmiş vaxtda müəyyən edilmiş makronu işlədən. Bunu praktik bir nümunə ilə başa düşək.

Nişanda eyni adlı düymə ilə Visual Basic redaktorunu açın geliştirici (İnkişaf etdirici) və ya klaviatura qısa yolu Dayandırmaq+F11, menyu vasitəsilə yeni modul daxil edin Daxil et - Modul və aşağıdakı kodu oraya kopyalayın:

Dim TimeToRun 'növbəti icra vaxtının saxlandığı qlobal dəyişən 'bu əsas makro Sub MyMacro() Application.Calculate 'kitabı yenidən hesablayın Range("A1").Interior.ColorIndex = Int(Rnd() * 56) 'doldurun təsadüfi rənglə A1 xanası :) NextRun-a zəng edin 'növbəti icra vaxtını təyin etmək üçün NextRun makrosunu işlədin. 00:00") 'cari vaxta 03 saniyə əlavə edin Application.OnTime TimeToRun, "MyMacro" 'təkrar ardıcıllığını başlamaq üçün End Sub 'makrosunu planlaşdırın Təkrar ardıcıllığı dayandırmaq üçün NextRun End Sub 'makrosuna zəng edin Sub Finish() Application.OnTime TimeToRun, "MyMacro", , False End Sub  

Gəlin burada nə olduğunu anlayaq.

Birincisi, bizə makromuzun növbəti işinin vaxtını saxlayacaq dəyişənə ehtiyacımız var – mən onu çağırdım Zamanı. Nəzərə alın ki, bu dəyişənin məzmunu bütün sonrakı makrolarımız üçün əlçatan olmalıdır, ona görə də biz bunu etməliyik qlobal, yəni modulun ən əvvəlində birincidən əvvəl elan edin Sub.

Sonra əsas makromuz gəlir MyMacro, əsas vəzifəni yerinə yetirəcək - metoddan istifadə edərək kitabı yenidən hesablamaq Tətbiq. Hesablayın. Daha aydın olması üçün A1 xanasındakı vərəqə =TDATE() düsturunu əlavə etdim, burada tarix və vaxt göstərilir – yenidən hesablanan zaman onun məzmunu gözümüzün qabağında yenilənəcək (sadəcə xanada saniyələrin göstərilməsini yandırın). format). Əlavə əyləncə üçün mən A1 xanasını təsadüfi seçilmiş rənglə doldurmaq əmrini də makroya əlavə etdim (rəng kodu funksiya tərəfindən yaradılan 0..56 diapazonunda tam ədəddir. Rnd və tam funksiyaya yuvarlaqlaşdırır Int).

Makro NextRun əvvəlki dəyərə əlavə edir Zamanı daha 3 saniyə və sonra əsas makronun növbəti işini planlaşdırır MyMacro bu yeni vaxt üçün. Təbii ki, praktikada siz funksiya arqumentlərini təyin etməklə sizə lazım olan istənilən digər vaxt intervallarından istifadə edə bilərsiniz Zaman dəyəri ss:dd:ss formatında.

Və nəhayət, rahatlıq üçün daha çox ardıcıllıqla işə salma makroları əlavə edildi. Əsas səhifə və onun tamamlanması finiş. Sonuncu ardıcıllığı pozmaq üçün dördüncü üsul arqumentindən istifadə edir. Vaxt bərabər Saxta.

Makronu işlətsəniz cəmi Əsas səhifə, onda bütün bu karusel fırlanacaq və vərəqdə aşağıdakı şəkli görəcəyik:

Ardıcıllığı müvafiq olaraq makronu işə salmaqla dayandıra bilərsiniz finiş. Rahatlıq üçün əmrdən istifadə edərək hər iki makroya klaviatura qısa yolları təyin edə bilərsiniz Makrolar - Seçimlər nişanı geliştirici (Tərtibatçı — Makroslar — Seçimlər).

Cədvəl üzrə makronun icrası

Əlbəttə ki, yuxarıda təsvir olunan hər şey yalnız Microsoft Excel işlədiyiniz halda mümkündür və faylımız orada açıqdır. İndi daha mürəkkəb bir işə baxaq: Excel-i verilmiş cədvələ uyğun olaraq, məsələn, hər gün saat 5:00-da işə salmalı, orada böyük və mürəkkəb hesabatı açmalı və içindəki bütün əlaqələri və sorğuları yeniləməlisiniz. biz işə gələnə qədər hazır olun 🙂

Belə bir vəziyyətdə istifadə etmək daha yaxşıdır Windows Planlayıcısı – xüsusi olaraq Windows-un istənilən versiyasında quraşdırılmış proqramdır ki, müəyyən edilmiş hərəkətləri cədvəl üzrə yerinə yetirə bilir. Əslində, siz artıq bilmədən ondan istifadə edirsiniz, çünki kompüteriniz müntəzəm olaraq yeniləmələri yoxlayır, yeni antivirus verilənlər bazalarını yükləyir, bulud qovluqlarını sinxronlaşdırır və s. Bütün bunlar Scheduler-in işidir. Beləliklə, bizim vəzifəmiz mövcud tapşırıqlara Excel-i işə salacaq və göstərilən faylı açacaq başqa birini əlavə etməkdir. Və makromuzu hadisəyə asacağıq İş kitabı_Açıq bu fayl - və problem həll edildi.

Dərhal sizi xəbərdar etmək istəyirəm ki, Planlaşdırıcı ilə işləmək qabaqcıl istifadəçi hüquqları tələb edə bilər, ona görə də aşağıda təsvir olunan əmrləri və funksiyaları ofisdə iş kompüterinizdə tapa bilmirsinizsə, kömək üçün İT mütəxəssislərinizlə əlaqə saxlayın.

Planlayıcının işə salınması

Beləliklə, Planlayıcıya başlayaq. Bunu etmək üçün aşağıdakılardan birini edə bilərsiniz:

  • Düyməni sağ vurun start və seçin Kompüter idarəçiliyi (Kompüter idarəetməsi)
  • İdarəetmə Panelində seçin: İdarəetmə - Tapşırıq Planlayıcısı (İdarəetmə Paneli - İnzibati Alətlər - Tapşırıq Planlayıcısı)
  • Əsas menyudan seçin Başlat - Aksesuarlar - Sistem Alətləri - Tapşırıq Planlayıcısı
  • Klaviatura kısayoluna basın Qazanmaq+R, gir taskchd.msc və mətbuat Daxil edin

Ekranda aşağıdakı pəncərə görünməlidir (mənim ingiliscə versiyam var, lakin sizdə də versiya ola bilər):

Makronu vaxtında işə salmaq

Tapşırıq yaradın

Sadə bir addım-addım sehrbazdan istifadə edərək yeni tapşırıq yaratmaq üçün linki vurun Sadə bir tapşırıq yaradın (Əsas tapşırıq yaradın) sağ paneldə.

Sehrbazın ilk addımında yaradılacaq tapşırığın adını və təsvirini daxil edin:

Makronu vaxtında işə salmaq

Düyməni vurun sonrakı (Sonrakı) və növbəti addımda bir tetikleyici seçirik - işə salma tezliyi və ya tapşırığımızı işə salacaq bir hadisə (məsələn, kompüteri yandırmaq):

Makronu vaxtında işə salmaq

Əgər seçsəniz Gündəlik (Gündəlik), sonra növbəti addımda müəyyən vaxt, ardıcıllığın başlama tarixi və addımı seçməlisiniz (hər 2-ci gün, 5-ci gün və s.):

Makronu vaxtında işə salmaq

Növbəti addım bir hərəkət seçməkdir - Proqramı işə salın (Proqrama başlayın):

Makronu vaxtında işə salmaq

Və nəhayət, ən maraqlısı tam olaraq nəyi açmaq lazımdır:

Makronu vaxtında işə salmaq

Ci Proqram və ya skript (Proqram/skript) proqram kimi Microsoft Excel-ə, yəni birbaşa Excel-in icra olunan proqramına gedən yolu daxil etməlisiniz. Windows və Office-in müxtəlif versiyaları olan müxtəlif kompüterlərdə bu fayl müxtəlif qovluqlarda ola bilər, ona görə də onun yerini öyrənməyin bir neçə yolu var:

  • İş masasında və ya tapşırıq çubuğunda Excel-i işə salmaq üçün ikona (qısayol) sağ klikləyin və əmri seçin Materialları (Xüsusiyyətlər), və sonra açılan pəncərədə sətirdən yolu kopyalayın Hədəf:

    Makronu vaxtında işə salmaq                      Makronu vaxtında işə salmaq

  • İstənilən Excel iş kitabını açın, sonra açın Task Manager (Tapşırıq meneceri) itələyir Ctrl+Dayandırmaq+saata və xəttin üzərinə sağ klikləməklə Microsoft Excel, əmr seçin Materialları (Xüsusiyyətlər). Açılan pəncərədə yolu kopyalaya bilərsiniz, ona əks kəsik işarəsi və sonunda EXCEL.EXE əlavə etməyi unutmadan:

    Makronu vaxtında işə salmaq              Makronu vaxtında işə salmaq

  • Excel-i açın, klaviatura qısayolu ilə Visual Basic redaktorunu açın Dayandırmaq+F11, paneli açın Bilavasitə birləşməsi Ctrl+G, ona əmr daxil edin:

    ? Tətbiq.Yol

    … və üzərinə klikləyin Daxil edin

    Makronu vaxtında işə salmaq

    Nəticə yolu kopyalayın, ona əks kəsik işarəsi və sonunda EXCEL.EXE əlavə etməyi unutmadan.

Ci Mübahisələr əlavə et (isteğe bağlı) (Arqumentlər əlavə edin (isteğe bağlı)) açmaq istədiyimiz makro ilə kitabın tam yolunu daxil etməlisiniz.

Hər şey daxil edildikdə, vurun sonrakı və sonra finiş (Bitir). Tapşırıq ümumi siyahıya əlavə edilməlidir:

Makronu vaxtında işə salmaq

Sağdakı düymələrdən istifadə edərək yaradılmış tapşırığı idarə etmək rahatdır. Burada tapşırığı dərhal yerinə yetirərək test edə bilərsiniz (qaçış)müəyyən edilmiş vaxtı gözləmədən. Tapşırığı müvəqqəti olaraq deaktiv edə bilərsiniz (Deaktiv edin)belə ki, tətiliniz kimi bir müddət işləməyi dayandırır. Yaxşı, hər zaman düymə vasitəsilə parametrləri (tarixlər, vaxt, fayl adı) dəyişə bilərsiniz Materialları (Xüsusiyyətlər).

Faylı açmaq üçün makro əlavə edin

İndi faylın açılması hadisəsində bizə lazım olan makronun işə salınmasını kitabımızda asmaq qalır. Bunun üçün kitabı açın və klaviatura qısa yolundan istifadə edərək Visual Basic redaktoruna keçin Dayandırmaq+F11 və ya düymələr Visual Basic nişanı geliştirici (İnkişaf etdirici). Yuxarı sol küncdə açılan pəncərədə ağacda faylımızı tapmalı və modulu açmaq üçün iki dəfə klikləməlisiniz. Bu kitab (Bu iş dəftəri).

Əgər siz bu pəncərəni Visual Basic redaktorunda görmürsünüzsə, onda siz onu menyu vasitəsilə aça bilərsiniz Baxın - Layihə Explorer.

Açılan modul pəncərəsində yuxarıdakı açılan siyahılardan seçərək kitab açıq hadisə idarəçisi əlavə edin. İş dəftəri и açıqmüvafiq olaraq:

Makronu vaxtında işə salmaq

Ekranda prosedur şablonu görünməlidir. İş kitabı_Açıq, xətlər arasında olan yerdə Şəxsi Sub и End Sub və bu Excel iş kitabı açıldıqda, Planlayıcı onu cədvələ uyğun açdıqda avtomatik yerinə yetirilməli olan VBA əmrlərini daxil etməlisiniz. Overclock üçün bəzi faydalı seçimlər bunlardır:

  • This Workbook.RefreshAll – Bütün xarici məlumat sorğularını, Power Query sorğularını və Pivot Cədvəllərini yeniləyir. Ən çox yönlü seçim. Yalnız standart olaraq xarici məlumatlara qoşulmağa icazə verməyi və keçidləri yeniləməyi unutmayın Fayl – Seçimlər – Güvən Mərkəzi – Güvən Mərkəzi Seçimləri – Xarici Məzmun, əks halda kitabı açdığınız zaman standart bir xəbərdarlıq görünəcək və Excel heç bir şeyi yeniləmədən düyməni basmaq şəklində xeyir-duanızı gözləyəcək. Məzmunu aktivləşdirin (Məzmunu aktivləşdirin):

    Makronu vaxtında işə salmaq

  • ActiveWorkbook.Connections(“Bağlantı_Adı”).Yeniləyin — Connection_Name bağlantısı üzrə məlumatların yenilənməsi.
  • Vərəqlər("Cədvəl5").Pivot Cədvəllər("Pivot Cədvəl1«).PivotCache.Yeniləyin – adlı tək pivot cədvəlinin yenilənməsi Pivot Cədvəl 1 vərəqdə Sheet5.
  • Tətbiq. Hesablayın – bütün açıq Excel iş kitablarının yenidən hesablanması.
  • Application.CalculateFullRebuild – bütün formulların məcburi yenidən hesablanması və bütün açıq iş dəftərlərində xanalar arasında bütün asılılıqların yenidən qurulması (bütün düsturların yenidən daxil edilməsinə bərabərdir).
  • İş vərəqləri (“Hesabat”).Çap - çap vərəqi pics.
  • MyMacro-ya zəng edin – adlı bir makro işə salın MyMacro.
  • Bu İş Kitabı. Saxla – cari kitabı yadda saxlayın
  • ThisWorkbooks.SaveAs “D:ArchiveReport” & Dəyişdirin(İndi, “:”, “-“) & “.xlsx” – kitabı qovluğa saxlayın D:Arxiv adı altında pics adına əlavə olunmuş tarix və vaxtla.

Əgər siz makronun yalnız faylın 5:00-da Planlayıcı tərəfindən açıldığı zaman yerinə yetirilməsini istəyirsinizsə və istifadəçi iş günü ərzində hər dəfə iş kitabını açanda deyilsə, onda vaxt yoxlaması əlavə etməyin mənası var, məsələn:

Format(İndi, "ss:dd") = "05:00" Əgər ThisWorkbook.RefreshAll  

Hamısı budur. İş kitabınızı makro-aktiv formatda (xlsm və ya xlsb) yadda saxlamağı unutmayın və siz Excel-i təhlükəsiz şəkildə bağlaya və kompüterinizi açıq qoyaraq evə gedə bilərsiniz. Müəyyən bir anda (kompüter kilidli olsa belə) Scheduler Excel-i işə salacaq və orada göstərilən faylı açacaq və makromuz proqramlaşdırılmış hərəkətləri yerinə yetirəcəkdir. Ağır hesabatınız avtomatik olaraq yenidən hesablanarkən yataqda dəbdəbəli olacaqsınız - gözəllik! 🙂

  • Makroslar nədir, onlardan necə istifadə etmək, Excel-də Visual Basic kodunu hara daxil etmək
  • Excel üçün öz makro əlavənizi necə yaratmaq olar
  • Şəxsi Makro İş Kitabını Excel-də makrolarınız üçün kitabxana kimi necə istifadə etmək olar

Cavab yaz