Cara merekod makro dalam Excel

  • Berkongsi Ini
Michael Brown

Tutorial langkah demi langkah untuk pemula merakam, melihat, menjalankan dan menyimpan makro. Anda juga akan mempelajari beberapa mekanik dalaman tentang cara makro berfungsi dalam Excel.

Makro ialah cara terbaik untuk mengautomasikan tugasan berulang dalam Excel. Jika anda mendapati diri anda melakukan perkara yang sama berulang kali, rekodkan pergerakan anda sebagai makro dan tetapkan pintasan papan kekunci padanya. Dan kini, anda boleh membuat semua tindakan yang dirakam dilakukan secara automatik, dengan satu ketukan kekunci!

    Cara merekod makro dalam Excel

    Seperti alatan VBA yang lain, makro Excel berada pada tab Pembangun , yang disembunyikan secara lalai. Jadi, perkara pertama yang perlu anda lakukan ialah menambah tab Pembangun pada reben Excel anda.

    Untuk merekod makro dalam Excel, jalankan langkah berikut:

    1. Pada Tab>Pembangun , dalam kumpulan Kod , klik butang Rekod Makro .

      Sebagai alternatif, klik Rekod Butang Macro di sebelah kiri bar Status :

      Jika anda lebih suka bekerja dengan papan kekunci daripada tetikus, tekan yang berikut urutan kekunci Alt , L , R (satu demi satu, bukan semua kekunci pada satu masa).

    2. Dalam kotak dialog Rekod Makro yang muncul, konfigurasikan parameter utama makro anda:
      • Dalam Makro name kotak, masukkan nama untuk makro anda. Cuba jadikan ia bermakna dan deskriptif, jadi kemudian anda akan dapat mencari makro dalam senarai dengan cepat.

        Dalammenjimatkan banyak masa dan saraf anda menjadikan lengkung pembelajaran anda lebih lancar dan makro lebih cekap.

        Gunakan rujukan relatif untuk rakaman makro

        Secara lalai, Excel menggunakan mutlak merujuk untuk merekod makro. Ini bermakna kod VBA anda akan sentiasa merujuk kepada sel yang sama yang anda pilih, tidak kira di mana anda berada dalam lembaran kerja semasa menjalankan makro.

        Walau bagaimanapun, adalah mungkin untuk menukar tingkah laku lalai kepada rujukan relatif . Dalam kes ini, VBA tidak akan alamat sel kod keras, tetapi akan berfungsi secara relatif kepada sel aktif (yang dipilih pada masa ini).

        Untuk merakam makro dengan rujukan relatif, klik Gunakan <8 Butang>Rujukan Relatif pada tab Pembangun . Untuk kembali kepada rujukan mutlak, klik butang sekali lagi untuk mematikannya.

        Sebagai contoh, jika anda merekodkan penyediaan jadual dengan rujukan mutlak lalai, makro anda akan sentiasa cipta semula jadual di tempat yang sama (dalam kes ini, Pengepala dalam A1, Item1 dalam A2, Item2 dalam A3).

        Sub Julat_Rujukan() Mutlak( "A1" ). Pilih ActiveCell.FormulaR1C1 = Julat "Header"( "A2" ). Pilih ActiveCell.FormulaR1C1 = Julat "Item1"( "A3" ). Pilih ActiveCell.FormulaR1C1 = "Item2" End Sub

        Jika anda merekodkan makro yang sama dengan rujukan relatif, jadual akan dibuat di mana-mana sahaja anda meletakkan kursor sebelum menjalankan makro ( Pengepala dalamsel aktif, Item1 dalam sel di bawah, dan seterusnya).

        Sub Relative_Referencing() ActiveCell.FormulaR1C1 = "Header" ActiveCell.Offset(1, 0).Julat( "A1" ). Pilih ActiveCell.FormulaR1C1 = "Item1" ActiveCell.Offset(1, 0).Julat( "A1" ). Pilih ActiveCell.FormulaR1C1 = "Item2" ActiveCell.Offset(1, 0).Julat( "A1" ). Pilih End Sub

        Nota:

        • Apabila menggunakan rujukan relatif, pastikan anda memilih sel awal sebelum anda mula merakam makro.
        • Rujukan relatif tidak berfungsi untuk semua perkara. Beberapa ciri Excel, cth. menukar julat kepada jadual, memerlukan rujukan mutlak.

        Pilih julat dengan menggunakan pintasan papan kekunci

        Apabila anda memilih sel atau julat sel menggunakan tetikus atau kekunci anak panah, Excel menulis alamat sel. Akibatnya, apabila anda menjalankan makro, operasi yang direkodkan akan dilakukan tepat pada sel yang sama. Jika ini bukan yang anda mahukan, gunakan pintasan untuk memilih sel dan julat.

        Sebagai contoh, mari kita rakam makro yang menetapkan format tertentu (d-mmm-yy) untuk tarikh dalam jadual di bawah:

        Untuk ini, anda merekodkan operasi berikut: tekan Ctrl + 1 untuk membuka dialog Format Sel > Tarikh > pilih format > OKEY. Jika rakaman anda termasuk memilih julat dengan tetikus atau kekunci anak panah, Excel akan menghasilkan kod VBA berikut:

        Sub Date_Format() Julat( "A2:B4" ). PilihSelection.NumberFormat = "d-mmm-yy" End Sub

        Menjalankan makro di atas akan memilih julat A2:B4 setiap kali. Jika anda menambah beberapa baris lagi pada jadual anda, ia tidak akan diproses oleh makro.

        Sekarang, mari lihat apa yang berlaku apabila anda memilih jadual menggunakan pintasan.

        Letakkan kursor dalam sel kiri atas julat sasaran (A2 dalam contoh ini), mulakan rakaman dan tekan Ctrl + Shift + End . Hasilnya, baris pertama kod akan kelihatan seperti ini:

        Julat(Selection, ActiveCell.SpecialCells(xlLastCell)). Pilih

        Kod ini memilih semua sel daripada sel aktif ke sel terakhir yang digunakan, bermakna semua data baharu akan disertakan dalam pemilihan secara automatik.

        Sebagai alternatif, anda boleh menggunakan gabungan Ctrl + Shift + Anak Panah:

        • Ctrl + Shift + Anak panah kanan untuk memilih semua sel yang digunakan di sebelah kanan, diikuti dengan
        • Ctrl + Shift + Anak panah ke bawah untuk memilih semua sel yang digunakan ke bawah.

        Ini akan menjana dua baris kod dan bukannya satu, tetapi hasilnya akan sama - semua sel dengan data ke bawah dan di sebelah kanan sel aktif akan dipilih:

        Julat(Pilihan, Pemilihan. Tamat ( xlToRight)). Pilih Julat(Pilihan, Pilihan. Tamat (xlDown)). Pilih

        Rakam makro untuk pemilihan dan bukannya sel tertentu

        Kaedah di atas (iaitu memilih semua sel yang digunakan bermula dengan sel aktif) berfungsi dengan baik untuk melaksanakan operasi yang sama pada keseluruhan jadual. Di sesetengahWalau bagaimanapun, anda mungkin mahu makro memproses julat tertentu dan bukannya keseluruhan jadual.

        Untuk ini, VBA menyediakan objek Selection yang merujuk kepada sel yang dipilih pada masa ini . Kebanyakan perkara yang boleh dilakukan dengan julat, juga boleh dilakukan dengan pemilihan. Apakah kelebihan yang diberikan kepada anda? Dalam kebanyakan kes, anda tidak perlu memilih apa-apa sama sekali semasa merakam - cuma tulis makro untuk sel aktif. Kemudian, pilih mana-mana julat yang anda mahu, jalankan makro dan ia akan memanipulasi keseluruhan pemilihan.

        Sebagai contoh, makro satu baris ini boleh memformatkan sebarang bilangan sel yang dipilih sebagai peratusan:

        Sub Peratus_Format () Selection.NumberFormat = "0.00%" End Sub

        Rancang dengan teliti perkara yang anda rakam

        Perakam Makro Microsoft Excel menangkap hampir semua aktiviti anda, termasuk kesilapan yang anda lakukan dan betulkan. Sebagai contoh, jika anda menekan Ctrl + Z untuk membuat asal sesuatu, itu juga akan direkodkan. Akhirnya, anda mungkin mendapat banyak kod yang tidak diperlukan. Untuk mengelakkan ini, sama ada edit kod dalam Editor VB atau hentikan rakaman, padam makro yang kekurangan dan mulakan rakaman semula.

        Sandarkan atau simpan buku kerja sebelum menjalankan makro

        Hasil Excel makro tidak boleh dibuat asal. Jadi, sebelum menjalankan pertama makro, adalah wajar untuk membuat salinan buku kerja atau sekurang-kurangnya menyimpan kerja semasa anda untuk mengelakkan perubahan yang tidak dijangka. Jika makro melakukan sesuatu yang salah,hanya tutup buku kerja tanpa menyimpan.

        Pastikan makro yang direkodkan pendek

        Apabila mengautomasikan urutan tugasan yang berbeza, anda mungkin tergoda untuk merakam semuanya dalam satu makro. Terdapat dua sebab utama untuk tidak melakukan ini. Pertama, sukar untuk merakam makro yang panjang dengan lancar tanpa kesilapan. Kedua, makro besar sukar untuk difahami, diuji dan nyahpepijat. Oleh itu, adalah idea yang baik untuk membahagikan makro yang besar kepada beberapa bahagian. Contohnya, apabila membuat jadual ringkasan daripada berbilang sumber, anda boleh menggunakan satu makro untuk mengimport maklumat, satu lagi untuk menyatukan data dan satu lagi untuk memformat jadual.

        Saya harap tutorial ini telah memberi anda sedikit cerapan tentang cara merekod makro dalam Excel. Bagaimanapun, saya mengucapkan terima kasih kerana membaca dan berharap dapat berjumpa anda di blog kami minggu hadapan!

        nama makro, anda boleh menggunakan huruf, nombor dan garis bawah; aksara pertama mestilah huruf. Ruang tidak dibenarkan, jadi anda harus sama ada menyimpan nama satu perkataan bermula setiap bahagian dengan huruf besar (cth. MyFirstMacro ) atau pisahkan perkataan dengan garis bawah (cth. My_First_Macro ).
      • Dalam kotak Kekunci pintasan , taip sebarang huruf untuk menetapkan pintasan papan kekunci kepada makro (pilihan).

        Kedua-dua huruf besar atau huruf kecil dibenarkan, tetapi anda sebaiknya menggunakan kombinasi kekunci huruf besar ( Ctrl + Shift + huruf ) kerana pintasan makro mengatasi sebarang pintasan Excel lalai semasa buku kerja yang mengandungi makro dibuka. Sebagai contoh, jika anda menetapkan Ctrl + S kepada makro, anda akan kehilangan keupayaan untuk menyimpan fail Excel anda dengan pintasan. Menetapkan Ctrl + Shift + S akan mengekalkan pintasan penjimatan standard.

      • Dari senarai lungsur turun Simpan makro dalam , pilih tempat anda ingin menyimpan makro anda:
        • Buku Kerja Makro Peribadi – menyimpan makro ke buku kerja khas yang dipanggil Personal.xlsb . Semua makro yang disimpan dalam buku kerja ini tersedia apabila anda menggunakan Excel.
        • Buku Kerja ini (lalai) - makro akan disimpan dalam buku kerja semasa dan akan tersedia apabila anda membuka semula buku kerja atau kongsikannya dengan pengguna lain.
        • Buku Kerja Baharu – mencipta buku kerja baharu dan merekodkan makro ke buku kerja itu.
      • Dalam Penerangan kotak, taip penerangan ringkas tentang perkara yang makro anda lakukan (pilihan).

        Walaupun medan ini adalah pilihan, saya syorkan anda sentiasa memberikan penerangan ringkas. Apabila anda mencipta banyak makro yang berbeza, ini akan membantu anda memahami dengan cepat perkara yang dilakukan oleh setiap makro.

      • Klik OK untuk mula merakam makro.

    3. Lakukan tindakan yang anda mahu untuk mengautomasikan (sila lihat contoh makro rakaman).
    4. Apabila selesai, klik butang Hentikan Rakaman pada tab Pembangun :

      Atau butang analog pada bar Status :

    Contoh merakam makro dalam Excel

    Untuk melihat cara ia berfungsi dalam amalan, mari kita rakam makro yang menggunakan beberapa pemformatan pada sel yang dipilih. Untuk ini, lakukan perkara berikut:

    1. Pilih satu atau lebih sel yang anda mahu formatkan.
    2. Pada tab Pembangun atau Status bar, klik Rekod Makro .
    3. Dalam kotak dialog Rekod Makro , konfigurasikan tetapan berikut:
      • Namakan makro Header_Formatting (kerana kita akan memformat pengepala lajur).
      • Letakkan kursor dalam kotak Kekunci pintasan dan tekan kekunci Shift + F serentak. Ini akan memberikan pintasan Ctrl + Shift + F kepada makro.
      • Pilih untuk menyimpan makro dalam buku kerja ini.
      • Untuk Penerangan , gunakan teks berikut untuk menerangkan perkara makro melakukan: Menjadikan teks tebal, menambah warna isian dan tengah .
      • Klik OK untuk mula merakam.

    4. Formatkan sel yang diprapilih mengikut cara yang anda mahukan. Untuk contoh ini, kami menggunakan pemformatan teks tebal, warna isian biru muda dan penjajaran tengah.

      Petua. Jangan pilih mana-mana sel selepas anda mula merakam makro. Ini akan memastikan bahawa semua pemformatan digunakan pada pilihan , bukan julat tertentu.

    5. Klik Hentikan Rakaman sama ada pada tab Pembangun atau bar Status .

    Itu sahaja! Makro anda telah direkodkan. Kini, anda boleh memilih mana-mana julat sel dalam mana-mana helaian, tekan pintasan yang ditetapkan ( Ctrl+ Shift + F ), dan pemformatan tersuai anda akan segera digunakan pada sel yang dipilih.

    Cara bekerja dengan makro yang direkodkan dalam Excel

    Semua pilihan utama yang disediakan oleh Excel untuk makro boleh diakses melalui kotak dialog Makro . Untuk membukanya, klik butang Makro pada tab Pembangun atau tekan pintasan Alt+ F8.

    Dalam kotak dialog yang dibuka, anda boleh melihat senarai makro yang tersedia dalam semua buku kerja terbuka atau dikaitkan dengan buku kerja tertentu dan menggunakan pilihan berikut:

    • Jalankan - melaksanakan makro yang dipilih .
    • Langkah ke - membolehkan anda menyahpepijat dan menguji makro dalam Editor Visual Basic.
    • Edit - membuka makro yang dipilih dalamEditor VBA, di mana anda boleh melihat dan mengedit kod.
    • Padam - memadamkan makro yang dipilih secara kekal.
    • Pilihan – membenarkan menukar sifat makro seperti Pintasan kunci dan Penerangan yang berkaitan.

    Cara melihat makro dalam Excel

    Kod makro Excel boleh dilihat dan diubah suai dalam Editor Visual Basic. Untuk membuka Editor, tekan Alt + F11 atau klik butang Visual Basic pada tab Pembangun .

    Jika anda melihat Editor VB buat kali pertama, sila jangan berasa kecil hati atau gentar. Kami tidak akan bercakap tentang struktur atau sintaks bahasa VBA. Bahagian ini hanya akan memberi anda beberapa pemahaman asas tentang cara makro Excel berfungsi dan perkara yang sebenarnya dilakukan oleh rakaman makro.

    Editor VBA mempunyai beberapa tetingkap, tetapi kami akan menumpukan pada dua tetingkap utama:

    Project Explorer - memaparkan senarai semua buku kerja terbuka dan helaiannya. Selain itu, ia menunjukkan modul, borang pengguna dan modul kelas.

    Tetingkap Kod - di sinilah anda boleh melihat, mengedit dan menulis kod VBA untuk setiap objek yang dipaparkan dalam Project Explorer.

    Apabila kami merekodkan makro sampel, perkara berikut berlaku di bahagian belakang:

    • Modul baharu ( Moduel1 ) ialah dimasukkan.
    • Kod VBA makro telah ditulis dalam tetingkap Kod.

    Untuk melihat kod sesuatu tertentumodul, klik dua kali modul ( Modul1 dalam kes kami) dalam tetingkap Project Explorer. Biasanya, kod makro mempunyai bahagian berikut:

    Nama makro

    Dalam VBA, sebarang makro bermula dengan Sub diikuti dengan nama makro dan berakhir dengan End Sub , dengan "Sub" adalah singkatan untuk Subrutin (juga dipanggil Prosedur ). Makro sampel kami dinamakan Header_Formatting() , jadi kod bermula dengan baris ini:

    Sub Header_Formatting()

    Jika anda ingin menamakan semula makro , hanya padamkan nama semasa dan taip yang baharu terus dalam tetingkap Kod.

    Ulasan

    Barisan yang diawali dengan tanda apostrof (') dan dipaparkan dalam warna hijau secara lalai tidak dilaksanakan. Ini adalah ulasan yang ditambahkan untuk tujuan maklumat. Baris ulasan boleh dialih keluar dengan selamat tanpa menjejaskan kefungsian kod.

    Biasanya, makro yang direkodkan mempunyai 1 - 3 baris ulasan: nama makro (wajib); perihalan dan pintasan (jika dinyatakan sebelum rakaman).

    Kod boleh laku

    Selepas ulasan, terdapat kod yang melaksanakan tindakan yang telah anda rakam. Kadangkala, makro yang direkodkan mungkin mempunyai banyak kod berlebihan, yang mungkin masih berguna untuk memikirkan cara perkara berfungsi dengan VBA :)

    Imej di bawah menunjukkan perkara yang dilakukan oleh setiap bahagian kod makro kami:

    Cara menjalankan makro yang direkodkan

    Dengan menjalankan makro, anda memberitahu Excel untuk kembali ke kod VBA yang direkodkan dan melaksanakanlangkah yang sama. Terdapat beberapa cara untuk menjalankan makro yang direkodkan dalam Excel, dan berikut ialah yang terpantas:

    • Jika anda telah menetapkan pintasan papan kekunci kepada makro, tekan pintasan itu .
    • Tekan Alt + 8 atau klik butang Makro pada tab Pembangun . Dalam kotak dialog Makro , pilih makro yang dikehendaki dan klik Jalankan .

    Ia juga mungkin dijalankan makro yang direkodkan dengan mengklik butang anda sendiri. Berikut ialah langkah untuk membuatnya: Cara membuat butang makro dalam Excel.

    Cara menyimpan makro dalam Excel

    Sama ada anda merakam makro atau menulis kod VBA secara manual, untuk menyimpan makro , anda perlu menyimpan buku kerja sebagai makro didayakan (sambungan .xlms). Begini caranya:

    1. Dalam buku kerja yang mengandungi makro, klik butang Simpan atau tekan Ctrl + S .
    2. Dalam Simpan Sebagai kotak dialog, pilih Buku Kerja Didayakan Makro Excel (*.xlsm) daripada senarai juntai bawah Simpan sebagai jenis dan kemudian klik Simpan :

    Makro Excel: apa yang ada dan apa yang tidak direkodkan

    Seperti yang baru anda lihat, agak mudah untuk merekodkan makro dalam Excel. Tetapi untuk mencipta makro yang berkesan, anda perlu memahami perkara yang berlaku di sebalik tabir.

    Apa yang direkodkan

    Perkam Makro Excel menangkap banyak perkara - hampir semua klik tetikus dan penekanan kekunci. Jadi, anda harus memikirkan langkah anda dengan teliti untuk mengelakkan kod berlebihan yang mungkin berlakumengakibatkan kelakuan tidak dijangka makro anda. Di bawah ialah beberapa contoh rekod Excel:

    • Memilih sel dengan tetikus atau papan kekunci. Hanya pilihan terakhir sebelum tindakan direkodkan. Sebagai contoh, jika anda memilih julat A1:A10 dan kemudian klik sel A11, hanya pemilihan A11 akan direkodkan.
    • Pemformatan sel seperti isian dan warna fon, penjajaran, jidar, dsb.
    • Pemformatan nombor seperti peratusan, mata wang, dsb.
    • Mengedit formula dan nilai. Perubahan direkodkan selepas anda menekan Enter .
    • Menatal, mengalihkan tetingkap Excel, bertukar kepada lembaran kerja dan buku kerja lain.
    • Menambah, menamakan, mengalih dan memadam lembaran kerja.
    • Membuat, membuka dan menyimpan buku kerja.
    • Menjalankan makro lain.

    Apa yang tidak boleh direkodkan

    Walaupun banyak perkara berbeza yang Excel boleh rakam, ciri tertentu berada di luar keupayaan Perakam Makro:

    • Penyesuaian reben Excel dan bar alat Akses Pantas.
    • Tindakan dalam dialog Excel seperti Pemformatan Bersyarat atau Cari dan Gantikan (hanya keputusan direkodkan).
    • Interaksi dengan program lain. Contohnya, anda tidak boleh merakam salinan/menampal daripada buku kerja Excel ke dalam dokumen Word.
    • Apa-apa sahaja yang melibatkan Editor VBA. Ini mengenakan had yang paling ketara - banyak perkara yang boleh dilakukan pada peringkat pengaturcaraan tidak bolehdirekodkan:
      • Mencipta fungsi tersuai
      • Memaparkan kotak dialog tersuai
      • Membuat gelung seperti Untuk Seterusnya , Untuk Setiap , Lakukan Sambil , dsb.
      • Menilai keadaan. Dalam VBA, anda boleh menggunakan pernyataan IF Then Else untuk menguji keadaan dan menjalankan beberapa kod jika syarat itu benar atau kod lain jika syarat itu palsu.
      • Melaksanakan kod berdasarkan peristiwa . Dengan VBA, anda boleh menggunakan banyak acara untuk menjalankan kod yang dikaitkan dengan acara itu (seperti membuka buku kerja, mengira semula lembaran kerja, menukar pemilihan dan sebagainya).
      • Menggunakan argumen. Apabila menulis makro dalam Editor VBA, anda boleh membekalkan argumen input untuk makro untuk melaksanakan tugas tertentu. Makro yang direkodkan tidak boleh mempunyai sebarang hujah kerana ia bebas dan tidak disambungkan kepada mana-mana makro lain.
      • Memahami logik. Contohnya, jika anda merekodkan makro yang menyalin sel tertentu, katakan dalam baris Jumlah , Excel hanya akan merekodkan alamat sel yang disalin. Dengan VBA, anda boleh mengekodkan logik, iaitu menyalin nilai dalam baris Jumlah .

    Walaupun pengehadan di atas menetapkan banyak sempadan untuk makro yang direkodkan, mereka masih merupakan titik permulaan yang baik. Walaupun anda tidak tahu bahasa VBA, anda boleh merakam makro dengan cepat dan kemudian menganalisis kodnya.

    Petua berguna untuk merekod makro dalam Excel

    Di bawah anda akan menemui beberapa petua dan nota yang berpotensi

    Michael Brown ialah peminat teknologi yang berdedikasi dengan semangat untuk memudahkan proses kompleks menggunakan alat perisian. Dengan lebih sedekad pengalaman dalam industri teknologi, beliau telah mengasah kemahirannya dalam Microsoft Excel dan Outlook, serta Helaian Google dan Dokumen. Blog Michael berdedikasi untuk berkongsi pengetahuan dan kepakarannya dengan orang lain, menyediakan petua dan tutorial yang mudah diikuti untuk meningkatkan produktiviti dan kecekapan. Sama ada anda seorang profesional berpengalaman atau pemula, blog Michael menawarkan pandangan berharga dan nasihat praktikal untuk memanfaatkan sepenuhnya alatan perisian penting ini.