Макро цаг тухайд нь ажиллуулж байна

Практикт маш түгээмэл тохиолддог тохиолдол: та нэг буюу хэд хэдэн макрогоо тодорхой хугацаанд эсвэл тодорхой давтамжтайгаар ажиллуулах хэрэгтэй. Жишээлбэл, танд хагас цагийн турш шинэчлэгддэг том бөгөөд хүнд тайлан байгаа бөгөөд та өглөө ажилдаа ирэхээс хагас цагийн өмнө шинэчлэлтийг ажиллуулахыг хүсч байна. Эсвэл танд тодорхой давтамжтайгаар ажилчдад имэйл илгээх макро байгаа. Эсвэл Пивот Хүснэгттэй ажиллахдаа 10 секунд тутамд шинэчлэгдэхийг хүсэх гэх мэт.

Excel болон Windows үүнийг хэрэгжүүлэх ямар чадвартайг харцгаая.

Өгөгдсөн давтамж дээр макро ажиллуулж байна

Үүнийг хийх хамгийн хялбар арга бол суурилуулсан VBA аргыг ашиглах явдал юм Application.OnTimeЗаасан хугацаанд заасан макро ажиллуулдаг. Үүнийг практик жишээгээр ойлгоцгооё.

Таб дээрх ижил нэртэй товчлуураар Visual Basic засварлагчийг нээнэ үү Developer (Хөгжүүлэгч) эсвэл гарын товчлол Alt+F11, цэсээр дамжуулан шинэ модуль оруулна уу Оруулах - Модуль Дараах кодыг тэнд хуулж авна уу.

Dim TimeToRun 'дараагийн ажиллах хугацаа хадгалагддаг дэлхийн хувьсагч 'энэ бол үндсэн макро Дэд MyMacro() Application.Calculate 'номыг дахин тооцоолох Range("A1").Interior.ColorIndex = Int(Rnd() * 56) 'бөглөх санамсаргүй өнгөөр ​​A1 нүд :) NextRun руу залгана 'NextRun макро ажиллуулж дараагийн ажиллах хугацаа End Sub 'энэ макро нь Sub NextRun() TimeToRun = Now + TimeValue("00: 00:03") 'одоогийн цаг дээр 3 секунд нэмнэ Application.OnTime TimeToRun, "MyMacro" 'дараагийн гүйлтийн хуваарь End Sub 'макро давталтын дарааллыг эхлүүлэх Sub Start() NextRun End Sub 'макро руу залгаж давталтын дарааллыг зогсоо. Sub Finish() Application.OnTime TimeToRun, "MyMacro", , False End Sub  

Энд юу байгааг олж мэдье.

Нэгдүгээрт, бидний макро дараагийн ажиллах хугацааг хадгалах хувьсагч хэрэгтэй - би үүнийг дуудсан Цаг хугацаа. Энэ хувьсагчийн агуулгыг бидний дараагийн бүх макронд ашиглах боломжтой байх ёстой тул бид үүнийг хийх хэрэгтэй гэдгийг анхаарна уу. Дэлхий нийтийн, өөрөөр хэлбэл модулийн хамгийн эхэнд эхнийхээс өмнө зарлана дэд.

Дараа нь бидний гол макро MyMacro, үндсэн ажлыг гүйцэтгэх болно - аргыг ашиглан номыг дахин тооцоолох Хэрэглээ.Тооцоо. Үүнийг илүү ойлгомжтой болгохын тулд би A1 нүдэнд огноо, цагийг харуулсан хуудсанд =TDATE() томъёог нэмсэн - дахин тооцоолох үед түүний агуулга бидний нүдний өмнө шинэчлэгдэх болно (нүдэнд секундын дэлгэцийг асаахад л хангалттай. формат). Илүү хөгжилтэй байхын тулд би макро дээр A1 нүдийг санамсаргүй байдлаар сонгосон өнгөөр ​​дүүргэх командыг нэмсэн (өнгөт код нь функцээр үүсгэгдсэн 0..56 муж дахь бүхэл тоо юм. Rnd бүхэл тоон функц хүртэл дугуйлна Int).

Макро NextRun өмнөх утгад нэмнэ Цаг хугацаа Дахиад 3 секунд, дараа нь үндсэн макроны дараагийн гүйлтийг төлөвлөнө MyMacro энэ шинэ цагийн хувьд. Мэдээжийн хэрэг, практик дээр та функцийн аргументуудыг тохируулах замаар өөр өөр цаг хугацааны интервалыг ашиглаж болно Цагийн утга hh:mm:ss форматаар.

Эцэст нь хэлэхэд, хялбар болгох үүднээс илүү олон дарааллаар эхлүүлэх макронуудыг нэмсэн. Нүүр хуудас болон түүний гүйцэтгэл Finish. Сүүлийнх нь дарааллыг эвдэхийн тулд дөрөв дэх аргын аргументыг ашигладаг. Цагтаа тэнцүү хуурамч.

Хэрэв та макро ажиллуулбал нийт Нүүр хуудас, дараа нь энэ тойруулга бүхэлдээ эргэлдэж, бид хуудсан дээрх дараах зургийг харах болно.

Та макро тус тус ажиллуулснаар дарааллыг зогсоож болно Finish. Тохиромжтой болгохын тулд та командыг ашиглан хоёр макронд гарын товчлолыг оноож болно Макрос - Сонголтууд таб Developer (Хөгжүүлэгч - Макро - Сонголтууд).

Хуваарийн дагуу макро ажиллуулж байна

Мэдээжийн хэрэг, дээр дурдсан бүх зүйл зөвхөн танд Microsoft Excel ажиллаж байгаа бөгөөд манай файл нээлттэй байгаа тохиолдолд л боломжтой. Одоо илүү төвөгтэй тохиолдлыг харцгаая: та Excel програмыг өгөгдсөн хуваарийн дагуу, жишээлбэл, өдөр бүр 5:00 цагт ажиллуулж, том, төвөгтэй тайланг нээж, бүх холболт, асуулгад шинэчлэлт хийх хэрэгтэй. Биднийг ажилдаа ирэхэд бэлэн байгаарай 🙂

Ийм нөхцөлд ашиглах нь дээр Windows цагийн хуваарь – Windows-ийн аль ч хувилбарт тусгайлан суулгасан програм бөгөөд тодорхой үйлдлийг хуваарийн дагуу гүйцэтгэх боломжтой. Үнэн хэрэгтээ, таны компьютер шинэчлэлтийг байнга шалгаж, вирусын эсрэг шинэ мэдээллийн санг татаж, үүлэн хавтаснуудыг синхрончлох гэх мэт зүйлсийг байнга хийдэг тул та үүнийг мэдэлгүй ашиглаж байна. Энэ бүхэн нь Төлөвлөгчийн ажил юм. Тиймээс бидний даалгавар бол одоо байгаа ажлуудад Excel-ийг ажиллуулж, дотор нь заасан файлыг нээх өөр нэгийг нэмэх явдал юм. Мөн бид үйл явдал дээр макро өлгөх болно Ажлын дэвтэр_Нээлттэй Энэ файл - тэгээд асуудал шийдэгдсэн.

Хуваарьлагчтай ажиллах нь хэрэглэгчийн дэвшилтэт эрх шаардаж болзошгүй тул оффисын ажлын компьютер дээрээ доор тайлбарласан тушаал, функцийг олж чадахгүй бол мэдээллийн технологийн мэргэжилтнүүдтэйгээ холбогдож тусламж аваарай.

Хуваарьлагчийг ажиллуулж байна

Тиймээс, хуваарь гаргагчийг эхлүүлцгээе. Үүнийг хийхийн тулд та дараахь зүйлийг хийж болно.

  • Товчлуурын баруун товчийг дарна уу Start Сонгох Компьютерийн удирдлага (Компьютерийн удирдлага)
  • Хяналтын самбараас сонгоно уу: Захиргаа - Даалгаврын хуваарь (Хяналтын самбар - Захиргааны хэрэгсэл - Даалгаврын хуваарь)
  • Үндсэн цэсээс сонгоно уу Эхлэх - Дагалдах хэрэгсэл - Системийн хэрэгсэл - Даалгаврын хуваарь
  • Гарны товчлуурыг дар Win+R, оруулна уу taskchd.msc болон дар оруулна уу

Дэлгэц дээр дараах цонх гарч ирэх ёстой (би англи хувилбартай, гэхдээ та бас хувилбартай байж болно):

Макро цаг тухайд нь ажиллуулж байна

Даалгавар үүсгэх

Энгийн алхам алхмаар шидтэн ашиглан шинэ даалгавар үүсгэхийн тулд холбоос дээр дарна уу Энгийн даалгавар үүсгэ (Үндсэн даалгавар үүсгэх) баруун самбарт.

Шидтэний эхний алхамд үүсгэх даалгаврын нэр, тайлбарыг оруулна уу:

Макро цаг тухайд нь ажиллуулж байна

Товчин дээр дарна уу Дараа нь (Дараачийн) Дараагийн алхамд бид гохыг сонгоно - эхлүүлэх давтамж эсвэл бидний ажлыг эхлүүлэх үйл явдал (жишээлбэл, компьютер асаах):

Макро цаг тухайд нь ажиллуулж байна

Хэрэв та сонгосон бол Өдөр тутмын (Өдөр бүр), дараа нь дараагийн алхамд та тодорхой цаг хугацаа, дарааллын эхлэх огноо, алхамыг (2 дахь өдөр, 5 дахь өдөр гэх мэт) сонгох шаардлагатай болно.

Макро цаг тухайд нь ажиллуулж байна

Дараагийн алхам бол үйлдлийг сонгох явдал юм - Програмыг ажиллуул (Хөтөлбөр эхлүүлэх):

Макро цаг тухайд нь ажиллуулж байна

Эцэст нь хэлэхэд хамгийн сонирхолтой зүйл бол яг юу нээх хэрэгтэй вэ?

Макро цаг тухайд нь ажиллуулж байна

Дахь Програм эсвэл скрипт (Програм/скрипт) та Microsoft Excel-ийн замыг програм хэлбэрээр оруулах хэрэгтэй, өөрөөр хэлбэл Excel-ийн гүйцэтгэх файл руу шууд орох хэрэгтэй. Windows болон Office-ийн өөр өөр хувилбартай өөр өөр компьютер дээр энэ файл өөр хавтсанд байж болох тул байршлыг нь олж мэдэх хэд хэдэн арга байна:

  • Ширээний компьютер эсвэл taskbar дээрх Excel програмыг эхлүүлэхийн тулд дүрс (товчлол) дээр хулганы баруун товчийг дараад командыг сонгоно уу. Материал (Үйлчилгээ), дараа нь нээгдэх цонхонд мөрнөөс замыг хуулна Зорилт:

    Макро цаг тухайд нь ажиллуулж байна                      Макро цаг тухайд нь ажиллуулж байна

  • Ямар ч Excel ажлын номыг нээгээд дараа нь нээ Ажлын менежер (Даалгаврын менежер) түлхэх Ctrl+Alt+эхлэн мөн мөрөнд баруун товчийг дарна уу Microsoft Excel, тушаал сонгоно уу Материал (Үйлчилгээ). Нээгдсэн цонхонд та замыг хуулж болно, үүн дээр урвуу зураас болон төгсгөлд EXCEL.EXE нэмэхээ мартаж болохгүй:

    Макро цаг тухайд нь ажиллуулж байна              Макро цаг тухайд нь ажиллуулж байна

  • Excel програмыг нээж, гарын товчлолоор Visual Basic засварлагчийг нээнэ үү Alt+F11, самбарыг нээх Яаралтай хослол Ctrl+G, түүнд тушаалыг оруулна уу:

    ? Хэрэглээ. Зам

    … дээр дарна уу оруулна уу

    Макро цаг тухайд нь ажиллуулж байна

    Үүссэн замыг хуулах, үүн дээр урвуу зураас болон төгсгөлд EXCEL.EXE нэмэхээ мартаж болохгүй.

Дахь Аргумент нэмэх (заавал биш) (Аргумент нэмэх (заавал биш)) та бидний нээхийг хүссэн макро бүхий ном руу бүрэн замыг оруулах хэрэгтэй.

Бүх зүйл орсон бол товшино уу Дараа нь Тэгээд Finish (Дуусгах). Даалгаврыг ерөнхий жагсаалтад нэмж оруулах ёстой:

Макро цаг тухайд нь ажиллуулж байна

Баруун талд байгаа товчлууруудыг ашиглан үүсгэсэн даалгаврыг удирдахад тохиромжтой. Энд та даалгаврыг нэн даруй ажиллуулж шалгах боломжтой (гүйх)заасан хугацааг хүлээхгүйгээр. Та даалгаврыг түр хугацаанд идэвхгүй болгож болно (Идэвхгүй болгох)ингэснээр таны амралт гэх мэт тодорхой хугацаанд ажиллахаа болино. За, та товчлуураар дамжуулан параметрүүдийг (огноо, цаг, файлын нэр) үргэлж өөрчлөх боломжтой Материал (Үйлчилгээ).

Файл нээхийн тулд макро нэмнэ үү

Одоо файл нээх үйл явдал дээр бидэнд хэрэгтэй макро эхлүүлэхийг номондоо өлгөх л үлдлээ. Үүнийг хийхийн тулд номыг нээж, гарын товчлолыг ашиглан Visual Basic засварлагч руу очно уу Alt+F11 эсвэл товчлуурууд Visual Basic таб Developer (Хөгжүүлэгч). Зүүн дээд буланд нээгдэх цонхноос та модноос манай файлыг олоод давхар товшиж модулийг нээх хэрэгтэй. Энэ ном (Энэ ажлын ном).

Хэрэв та Visual Basic засварлагч дээр энэ цонхыг харахгүй байгаа бол цэсээр дамжуулан нээж болно Харах - Төслийн хөтөч.

Нээгдэх модулийн цонхонд дээд хэсэгт байрлах унадаг жагсаалтаас сонгон ном нээх үйл явдал зохицуулагчийг нэмнэ үү. Дасгалын ном и Нээлттэйтус тус:

Макро цаг тухайд нь ажиллуулж байна

Процедурын загвар дэлгэц дээр гарч ирэх ёстой. Ажлын дэвтэр_Нээлттэй, мөр хоорондын зай Хувийн дэд и Төгсгөл дэд Мөн та Excel-ийн ажлын ном нээгдэх үед, хуваарь гаргагч үүнийг хуваарийн дагуу нээх үед автоматаар гүйцэтгэх VBA командуудыг оруулах хэрэгтэй. Overclock хийх зарим ашигтай сонголтууд энд байна:

  • ThisWorkbook.RefreshAll – Бүх гадаад өгөгдлийн асуулга, Power Query асуулга, Пивот хүснэгтийг сэргээнэ. Хамгийн уян хатан сонголт. Анхдагчаар гадаад өгөгдөлтэй холбогдохыг зөвшөөрч, холбоосыг шинэчлэхээ бүү мартаарай Файл - Сонголтууд - Итгэмжлэлийн төв - Итгэмжлэлийн төвийн сонголтууд - Гадаад контент, эс тэгвээс та номыг нээхэд стандарт анхааруулга гарч ирэх бөгөөд Excel юу ч шинэчлэхгүйгээр товчлуур дээр дарах хэлбэрээр таны адислалыг хүлээх болно. Агуулгыг идэвхжүүлэх (Агуулгыг идэвхжүүлэх):

    Макро цаг тухайд нь ажиллуулж байна

  • ActiveWorkbook.Connections(“Connection_Name”).Refresh — Connection_Name холболтын өгөгдлийг шинэчлэх.
  • Хуудас("Хуудас5"). Пивот хүснэгт(" Пивот хүснэгт1«).PivotCache.Refresh – нэртэй нэг пивот хүснэгтийг шинэчлэх Пивот хүснэгт1 хуудсан дээр Хуудас5.
  • Хэрэглээ.Тооцоо - бүх нээлттэй Excel ажлын номыг дахин тооцоолох.
  • Хэрэглээ.CalculateFullRebuild – бүх томьёог албадан дахин тооцоолох, бүх нээлттэй ажлын дэвтэр дэх нүднүүдийн хоорондох бүх хамаарлыг дахин бий болгох (бүх томьёог дахин оруулахтай тэнцэх).
  • Ажлын хуудас("Тайлан").Хэвлэх - хуудас хэвлэх Фото зураг.
  • MyMacro руу залгана уу – нэртэй макро ажиллуулна MyMacro.
  • Энэ ажлын ном. Хадгалах - одоогийн номыг хадгалах
  • ThisWorkbooks.SaveAs “D:ArchiveReport” & Орлуулах(Одоо, “:”, “-“) & “.xlsx” – номыг хавтас руу хадгалах Д: Архив нэрийн дор Фото зураг огноо, цагийг нэрэнд нь хавсаргана.

Хэрэв та ажлын өдрийн турш хэрэглэгч ажлын номыг нээх болгонд биш, зөвхөн хуваарь гаргагч файлыг нээх үед л макро ажиллуулахыг хүсч байвал цагийн шалгалт нэмэх нь зүйтэй юм, жишээлбэл:

Хэрэв Формат(Одоо, "хх:мм") = "05:00" бол ThisWorkbook.RefreshAll  

Тэгээд л болоо. Дасгалын номоо макро идэвхжүүлсэн форматаар (xlsm эсвэл xlsb) хадгалахаа бүү мартаарай, тэгвэл та Excel-ийг аюулгүй хааж, компьютерээ асаалттай орхиж гэртээ харьж болно. Тухайн агшинд (компьютер түгжигдсэн байсан ч) Хуваарьлагч Excel-ийг ажиллуулж, дотор нь заасан файлыг нээх бөгөөд бидний макро програмчлагдсан үйлдлүүдийг хийх болно. Таны хүнд тайланг автоматаар дахин тооцоолж байх хооронд та орондоо тансаглах болно - гоо сайхан! 🙂

  • Макро гэж юу вэ, тэдгээрийг хэрхэн ашиглах, Excel програмын Visual Basic кодыг хаана оруулах вэ
  • Excel-д зориулж өөрийн макро нэмэлтийг хэрхэн үүсгэх вэ
  • Хувийн макро ажлын дэвтрийг Excel-ийн макроны номын сан болгон хэрхэн ашиглах вэ

хариу үлдээх