Mlaku makro ing wektu

Kasus sing umum banget ing praktik: sampeyan kudu mbukak siji utawa luwih makro ing wektu tartamtu utawa frekuensi tartamtu. Contone, sampeyan duwe laporan gedhe lan abot sing nganyari setengah jam lan sampeyan pengin mbukak nganyari setengah jam sadurunge teka ing kantor ing wayah esuk. Utawa sampeyan duwe makro sing ngirim kanthi otomatis ngirim email menyang karyawan ing frekuensi tartamtu. Utawa, nalika nggarap PivotTable, sampeyan pengin nganyari kanthi cepet saben 10 detik, lan sateruse.

Ayo goleki apa Excel lan Windows duwe kemampuan kanggo ngetrapake iki.

Mlaku makro ing frekuensi tartamtu

Cara paling gampang kanggo nindakake iki yaiku nggunakake metode VBA sing dibangun Aplikasi.OnTimeSing mbukak makro sing ditemtokake ing wektu sing ditemtokake. Ayo ngerti iki kanthi conto praktis.

Bukak editor Visual Basic kanthi tombol kanthi jeneng sing padha ing tab kasebut pangembang (Pengembang) utawa trabasan keyboard Alt+F11, masang modul anyar liwat menu Insert - Modul lan salin kode ing ngisor iki ana:

Dim TimeToRun 'variabel global ing ngendi wektu mlaku sabanjure disimpen' iki minangka makro utama Sub MyMacro() Application.Calculate 'recalculate book Range("A1").Interior.ColorIndex = Int(Rnd() * 56) 'fill sel A1 kanthi warna acak :) Telpon NextRun 'jalanake makro NextRun kanggo nyetel wektu mlaku sabanjure End Sub 'makro iki nyetel wektu kanggo mbukak sabanjure makro utama Sub NextRun() TimeToRun = Saiki + TimeValue("00: 00:03") 'nambah 3 detik menyang aplikasi wektu saiki. OnTime TimeToRun, "MyMacro" 'jadwalake run sabanjure End Sub 'makro kanggo miwiti urutan baleni Sub Start() Telpon NextRun End Sub 'makro kanggo mungkasi urutan baleni Sub Finish() Application.OnTime TimeToRun, "MyMacro", , False End Sub  

Ayo ngerteni apa sing ana ing kene.

Pisanan, kita kudu variabel sing bakal nyimpen wektu roto sabanjuré macro kita - Aku disebut TimeToRun. Elinga yen isi variabel iki kudu kasedhiya kanggo kabeh makro sabanjure, mula kita kudu nggawe global, IE ngumumake ing awal modul sadurunge pisanan sub.

Sabanjure teka makro utama kita MyMacro, sing bakal nindakake tugas utama - kanggo ngitung maneh buku kanthi nggunakake metode kasebut Aplikasi. Hitung. Kanggo nggawe luwih cetha, aku nambahake rumus = TDATE () menyang lembar ing sel A1, sing nuduhake tanggal lan wektu - yen diitung maneh, isine bakal dianyari sadurunge mata kita (mung nguripake tampilan detik ing sel. format). Kanggo nyenengake ekstra, aku uga nambahake perintah makro kanggo ngisi sel A1 kanthi warna sing dipilih kanthi acak (kode warna minangka integer ing kisaran 0..56, sing digawe dening fungsi kasebut. Rnd lan dibunderaké menyang fungsi integer Int).

Macro SabanjureRun nambah menyang nilai sadurunge TimeToRun 3 detik liyane lan banjur jadwal roto sabanjuré saka makro utama MyMacro kanggo wektu anyar iki. Mesthine, ing praktik, sampeyan bisa nggunakake interval wektu liyane sing dibutuhake kanthi nyetel argumen fungsi TimeValue ing format hh:mm:ss.

Lan pungkasane, mung kanggo penak, luwih akeh makro peluncuran urutan wis ditambahake. Home lan rampung Rampung. Sing terakhir nggunakake argumen metode kaping papat kanggo ngilangi urutan kasebut. Tepat waktu witjaksono palsu.

Total yen sampeyan mbukak macro Home, banjur kabeh carousel iki bakal muter, lan kita bakal weruh gambar ing ngisor iki ing sheet:

Sampeyan bisa mungkasi urutan kanthi mlaku, mungguh, makro Rampung. Kanggo penak, sampeyan bisa nemtokake trabasan keyboard kanggo loro macro nggunakake printah Macro - Pilihan tab pangembang (Pangembang - Makro - Pilihan).

Mlaku makro ing jadwal

Mesthi wae, kabeh sing diterangake ing ndhuwur mung bisa ditindakake yen sampeyan duwe Microsoft Excel mlaku lan file kita mbukak. Saiki ayo goleki kasus sing luwih rumit: sampeyan kudu mbukak Excel miturut jadwal sing diwenehake, umpamane, saben dina jam 5:00, mbukak laporan sing gedhe lan rumit lan nganyari kabeh sambungan lan pitakon ing kana supaya bisa siap ing wektu kita teka ing karya 🙂

Ing kahanan kaya mengkono, iku luwih apik kanggo nggunakake Windows Scheduler – program khusus dibangun ing sembarang versi Windows sing bisa nindakake tumindak tartamtu ing jadwal. Nyatane, sampeyan wis nggunakake tanpa ngerti, amarga PC ajeg mriksa nganyari, ndownload database anti-virus anyar, nyinkronake folder maya, etc. Iku kabeh karya saka Scheduler. Dadi tugas kita yaiku nambahake tugas sing wis ana liyane sing bakal mbukak Excel lan mbukak file sing wis ditemtokake. Lan kita bakal nyumerepi makro ing acara kasebut Workbook_Bukak file iki - lan masalah wis ditanggulangi.

Aku pengin langsung ngelingake yen nggarap Penjadwal mbutuhake hak pangguna sing luwih maju, dadi yen sampeyan ora bisa nemokake printah lan fungsi sing diterangake ing ngisor iki ing komputer kerja ing kantor, hubungi spesialis IT kanggo njaluk bantuan.

Miwiti Penjadwal

Dadi ayo miwiti Penjadwal. Kanggo nindakake iki, sampeyan bisa:

  • Klik tengen ing tombol Mulai Lan milih Manajemen Komputer (Manajemen Komputer)
  • Pilih ing Control Panel: Administrasi - Penjadwal Tugas (Panel Kontrol - Alat Administratif - Penjadwal Tugas)
  • Pilih saka menu utama Mulai - Aksesoris - Alat Sistem - Penjadwal Tugas
  • Pencet tombol keyboard Win+R, ketik taskchd.msc lan penet Ketik

Jendhela ing ngisor iki kudu katon ing layar (Aku duwe versi Inggris, nanging sampeyan uga bisa duwe versi):

Mlaku makro ing wektu

Gawe tugas

Kanggo nggawe tugas anyar nggunakake tuntunan langkah-langkah dening-sederhana, klik ing link Nggawe tugas prasaja (Gawe Tugas Dasar) ing panel tengen.

Ing langkah pisanan saka tuntunan, ketik jeneng lan katrangan tugas sing bakal digawe:

Mlaku makro ing wektu

Klik ing tombol Sabanjure (Sabanjure) lan ing langkah sabanjure, kita milih pemicu - frekuensi peluncuran utawa acara sing bakal mbukak tugas (contone, nguripake komputer):

Mlaku makro ing wektu

Yen sampeyan milih Saben (Saben Dina), banjur ing langkah sabanjure sampeyan kudu milih wektu tartamtu, tanggal wiwitan urutan lan langkah (saben dina kaping 2, dina kaping 5, lsp):

Mlaku makro ing wektu

Langkah sabanjure yaiku milih tumindak - Jalanake program kasebut (Miwiti program):

Mlaku makro ing wektu

Lan pungkasane, sing paling menarik yaiku apa sing kudu dibukak:

Mlaku makro ing wektu

ing Program utawa skrip (Program/skrip) sampeyan kudu ngetik path kanggo Microsoft Excel minangka program, IE langsung menyang eksekusi Excel. Ing komputer sing beda-beda kanthi versi Windows lan Office sing beda-beda, file iki bisa uga ana ing folder sing beda-beda, mula ana sawetara cara kanggo ngerteni lokasine:

  • Klik-tengen ing lambang (trabasan) kanggo miwiti Excel ing desktop utawa ing taskbar banjur pilih printah Bahan (Sipat), banjur ing jendhela sing mbukak, nyalin path saka baris target:

    Mlaku makro ing wektu                      Mlaku makro ing wektu

  • Bukak buku kerja Excel apa wae, banjur bukak Tugas Manager (Manajer Tugas) meksa Ctrl+Alt+saka lan kanthi ngeklik tengen ing baris Microsoft Excel, pilih printah Bahan (Sipat). Ing jendhela sing mbukak, sampeyan bisa nyalin path, ora lali kanggo nambah backslash kanggo lan EXCEL.EXE ing mburi:

    Mlaku makro ing wektu              Mlaku makro ing wektu

  • Bukak Excel, bukak editor Visual Basic kanthi trabasan keyboard Alt+F11, mbukak panel langsung kombinasi saka Ctrl+G, ketik perintah kasebut:

    ? Aplikasi.Path

    … lan klik ing Ketik

    Mlaku makro ing wektu

    Salin path asil, ora lali kanggo nambah backslash kanggo lan EXCEL.EXE ing mburi.

ing Tambah argumen (opsional) (Tambah argumen (opsional)) sampeyan kudu nglebokake path lengkap menyang buku kanthi makro sing arep kita bukak.

Yen kabeh wis dilebokake, banjur klik Sabanjure banjur Rampung (Rampung). Tugas kudu ditambahake menyang dhaptar umum:

Mlaku makro ing wektu

Iku trep kanggo ngatur tugas digawe nggunakake tombol ing sisih tengen. Ing kene sampeyan bisa nyoba tugas kanthi langsung mbukak (mlayu)tanpa ngenteni wektu sing ditemtokake. Sampeyan bisa mateni tugas kanggo sementara (Pateni)supaya mandheg mlaku kanggo sawetara wektu, kayata liburan sampeyan. Inggih, sampeyan bisa tansah ngganti paramèter (tanggal, wektu, jeneng berkas) liwat tombol Bahan (Sipat).

Tambah makro kanggo mbukak file

Saiki tetep digantung ing buku kita peluncuran makro sing dibutuhake ing acara mbukak file. Kanggo nindakake iki, bukak buku lan pindhah menyang editor Visual Basic nggunakake trabasan keyboard Alt+F11 utawa tombol visual Basic tab pangembang (Pengembang). Ing jendhela sing mbukak ing pojok kiwa ndhuwur, sampeyan kudu nemokake file kita ing wit lan klik kaping pindho kanggo mbukak modul Buku iki (Buku Kerja Iki).

Yen sampeyan ora ndeleng jendhela iki ing editor Visual Basic, sampeyan bisa mbukak liwat menu Ndeleng - Project Explorer.

Ing jendhela modul sing mbukak, tambahake handler acara mbukak buku kanthi milih saka dhaptar gulung mudhun ing sisih ndhuwur. Workbook и Open, miturut:

Mlaku makro ing wektu

Cithakan prosedur kudu katon ing layar. Workbook_Bukak, ngendi antarane garis Swasta Sub и Akhir Sub lan sampeyan kudu nglebokake perintah VBA sing kudu dileksanakake kanthi otomatis nalika buku kerja Excel iki dibukak, nalika Penjadwal mbukak miturut jadwal. Mangkene sawetara opsi sing migunani kanggo overclocking:

  • ThisWorkbook.RefreshAll - Nyegerake kabeh pitakon data eksternal, pitakon Power Query, lan PivotTables. Pilihan sing paling serbaguna. Cukup aja lali ngidini sambungan menyang data eksternal kanthi standar lan nganyari pranala liwat File - Pilihan - Pusat Kepercayaan - Pilihan Pusat Kepercayaan - Konten Eksternal, Yen ora, nalika mbukak buku, bebaya standar bakal katon lan Excel, tanpa nganyari apa-apa, bakal ngenteni berkah sampeyan kanthi ngeklik tombol kasebut. Aktifake isi (Aktifake konten):

    Mlaku makro ing wektu

  • ActiveWorkbook.Connections("Connection_Name").Refresh - nganyari data ing sambungan Connection_Name.
  • Lembar ("Lembar 5").PivotTables("PivotTable1«).PivotCache.Refresh – nganyari tabel poros siji jenenge Tabel Pivot1 ing lembaran Sheet5.
  • Aplikasi. Hitung - pitungan maneh kabeh buku kerja Excel sing mbukak.
  • Aplikasi.CalculateFullRebuild - petungan maneh kabeh rumus lan mbangun maneh kabeh dependensi ing antarane sel ing kabeh buku kerja sing mbukak (padha karo ngetik maneh kabeh rumus).
  • Lembar Kerja (“Laporan”).PrintOut - lembar cetak Photos.
  • Telpon MyMacro – mbukak macro jenenge MyMacro.
  • Buku Kerja iki.Simpen – nyimpen buku saiki
  • ThisWorkbooks.SaveAs "D:ArsipReport" & Ganti (Saiki, ":", "-") & ".xlsx" – nyimpen buku menyang folder D: Arsip miturut jeneng Photos karo tanggal lan wektu ditambahake ing jeneng.

Yen sampeyan pengin makro dieksekusi mung nalika file dibukak dening Penjadwal ing jam 5:00, lan ora saben pangguna mbukak buku kerja sajrone dina kerja, mula kudu ditambahake mriksa wektu, contone:

Yen Format(Saiki, "hh:mm") = "05:00" Banjur ThisWorkbook.RefreshAll  

Mekaten. Aja lali nyimpen buku kerja ing format sing aktif makro (xlsm utawa xlsb) lan sampeyan bisa nutup Excel kanthi aman lan mulih, ninggalake komputer sampeyan. Ing wayahe tartamtu (sanajan PC dikunci), Penjadwal bakal mbukak Excel lan mbukak file kasebut, lan makro kita bakal nindakake tumindak sing diprogram. Lan sampeyan bakal luxuriate ing amben nalika laporan abot kanthi otomatis recalculated - kaendahan! 🙂

  • Apa macro, carane nggunakake, ngendi kanggo masang kode Visual Basic ing Excel
  • Carane nggawe macro add-in dhewe kanggo Excel
  • Cara nggunakake Buku Kerja Makro Pribadi minangka perpustakaan kanggo makro ing Excel

Ninggalake a Reply