Ini adalah tip Excel mingguan ke-19 di.com. Banyak tip Excel melibatkan semacam trik makro. Minggu ini, untuk pengguna Excel yang belum pernah menulis makro, saya menawarkan panduan tentang cara merekam dan kemudian menyesuaikan makro Excel yang berguna.

Misalkan Anda memiliki 400 baris data alamat seperti yang ditunjukkan pada gambar atas di sebelah kiri. Kolom nama ada di kolom A, alamat jalan di kolom B, dan kota di kolom C.
Tujuan Anda adalah untuk mengubah data menjadi satu kolom seperti yang ditunjukkan pada gambar kedua.
Masalah sederhana ini akan digunakan untuk mengilustrasikan cara merekam, memodifikasi, dan kemudian menjalankan makro sederhana.
Untuk pengguna Excel 95: Setelah merekam makro, Excel akan meletakkan makro Anda di lembar yang disebut Module1 di buku kerja Anda. Anda cukup mengklik lembar untuk mengakses makro.
Meskipun ada 400 catatan di lembar kerja ini, saya ingin merekam sedikit makro yang menangani alamat pertama saja. Makro akan menganggap bahwa cellpointer ada di nama depan. Ini akan memasukkan tiga baris kosong. Ini akan menyalin sel di sebelah kanan sel asli ke sel di bawah sel asli. Ini akan menyalin sel kota ke sel 2 baris di bawah sel asli. Ini kemudian harus memindahkan penunjuk sel ke bawah sehingga berada di nama berikutnya.
Kuncinya adalah memikirkan proses ini sebelum Anda merekamnya. Anda tidak ingin membuat banyak kesalahan saat merekam makro.
Jadi, letakkan penunjuk sel Anda di sel A1. Buka menu dan pilih Alat> Makro> Rekam Makro baru. Dialog Rekam Makro menyarankan nama Macro1. Ini bagus, jadi tekan OK.
Perekam makro Excel memiliki satu pengaturan default yang sangat bodoh yang benar-benar harus Anda ubah agar makro ini berfungsi. Di Excel 95, masuk ke Alat> Makro> Gunakan Referensi Relatif Di Excel 97-2003, klik ikon kedua di Stop Recording Toolbar. Ikonnya tampak seperti lembar kerja kecil. Sebuah sel darah merah di C3 menunjuk ke sel darah merah lain di A3. Ikon tersebut disebut Referensi Relatif. Saat ikon ini 'aktif', ada beberapa warna di sekitar ikon. Ikon tersebut mengingat pengaturan terakhir dari sesi Excel saat ini, jadi Anda mungkin harus mengkliknya beberapa kali untuk mengetahui metode mana yang aktif atau tidak. Di Excel 2007, gunakan Tampilan - Makro - Gunakan Referensi Relatif.
Oke, kami siap berangkat. Ikuti langkah ini:
- Tekan panah bawah sekali untuk pindah ke sel B1.
- Tahan tombol shift dan tekan panah bawah dua kali untuk memilih baris 2, 3, dan 4
- Dari menu, pilih Sisipkan, lalu pilih Baris untuk menyisipkan tiga baris kosong.
- Tekan panah atas lalu panah kanan untuk berpindah ke sel B2.
- Tekan Ctrl X untuk memotong sel B2.
- Tekan panah bawah, panah kiri, lalu Ctrl V untuk menempelkan ke sel A2.
- Tekan panah atas, panah kanan, panah kanan, Ctrl X, panah kiri, panah kiri, panah bawah, panah bawah, Ctrl V untuk memindahkan C1 ke A3.
- Tekan panah bawah dua kali sehingga penunjuk sel sekarang berada di nama berikutnya di Baris A5.
- Klik ikon "Hentikan Merekam" pada bilah alat untuk berhenti merekam makro.
Nah, Anda telah merekam makro pertama Anda. Mari lihat. Buka Alat> Makro> Makro. Dari daftar, sorot Macro1 dan tekan tombol Edit. Anda akan melihat sesuatu yang terlihat seperti ini.
Sub Macro1() ' ' Macro1 Macro ' Macro recorded 4/18/99 by Reader ' ' ActiveCell.Offset(1, 0).Range("A1:A3").Select Selection.EntireRow.Insert ActiveCell.Offset(-1, 1).Range("A1").Select Selection.Cut ActiveCell.Offset(1, -1).Range("A1").Select ActiveSheet.Paste ActiveCell.Offset(-1, 2).Range("A1").Select Selection.Cut ActiveCell.Offset(2, -2).Range("A1").Select ActiveSheet.Paste ActiveCell.Offset(2, 0).Range("A1").Select End Sub
Hei, jika Anda bukan seorang programmer, itu mungkin terlihat cukup menakutkan. Jangan biarkan itu terjadi. Jika ada sesuatu yang tidak Anda mengerti, ada bantuan yang sangat baik. Klik kursor Anda di suatu tempat di kata kunci Offset dan tekan F1. Asalkan Anda menginstal file bantuan VBA, Anda akan melihat topik bantuan untuk kata kunci Offset. Bantuan tersebut memberi tahu Anda sintaks dari pernyataan tersebut. Dikatakan bahwa itu adalah Offset (RowOffset, ColumnOffset). Masih belum terlalu jelas? Cari kata "contoh" bergaris bawah hijau di dekat bagian atas bantuan. Contoh VBA Excel akan memungkinkan Anda mempelajari apa yang sedang terjadi. Dalam contoh Offset, dikatakan untuk mengaktifkan sel dua baris di bawah dan tiga baris di sebelah kanan sel saat ini, Anda akan menggunakan:
ActiveCell.Offset(3, 2).Activate
Oke, jadi itu petunjuk. Fungsi offset adalah cara bergerak di sekitar spreadsheet Excel. Dengan sedikit informasi ini, Anda dapat melihat apa yang dilakukan makro. Offset pertama (1, 0) adalah tempat kami memindahkan cellpointer ke A2. Offset berikutnya adalah tempat kami naik satu baris (-1 baris) dan lebih dari 1 kolom. Anda mungkin tidak memahami hal lain di makro, tetapi ini masih berguna.
Kembali ke lembar kerja Excel. Letakkan penunjuk sel Anda di sel A5. Pilih Alat> Makro> Makro> Makro1> Jalankan. Makro berjalan dan alamat kedua Anda diformat.
Anda mungkin mengatakan memilih seluruh rangkaian perintah yang panjang ini lebih sulit daripada hanya memformat dengan tangan. OK, lalu lakukan Tools> Macro> Macros> Options. Di kotak pintasan, katakan Ctrl + w adalah tombol pintasan untuk makro ini. Klik OK, lalu tutup dialog Makro dengan Batal. Sekarang, saat Anda menekan Ctrl w, makro akan berjalan. Anda dapat memformat alamat dengan satu penekanan tombol.
Apakah Anda siap untuk momen besar? Berapa banyak alamat yang tersisa? Saya menekan Ctrl wa beberapa kali, jadi tersisa 395. Kembali ke makro Anda. Kami akan menempatkan seluruh kode makro dalam satu lingkaran. Sisipkan baris baru yang bertuliskan "Do Sampai activecell.value =" "" sebelum baris pertama kode makro. Sisipkan baris yang bertuliskan "Loop" sebelum baris End Sub. Loop Do akan mengeksekusi semua yang ada di antara garis Do dan Loop hingga menjadi baris kosong. Makro sekarang terlihat seperti ini:
Sub Macro1() ' ' Macro1 Macro ' Macro recorded 4/18/99 by Reader ' ' Do Until ActiveCell.Value = "" ActiveCell.Offset(1, 0).Range("A1:A3").Select Selection.EntireRow.Insert ActiveCell.Offset(-1, 1).Range("A1").Select Selection.Cut ActiveCell.Offset(1, -1).Range("A1").Select ActiveSheet.Paste ActiveCell.Offset(-1, 2).Range("A1").Select Selection.Cut ActiveCell.Offset(2, -2).Range("A1").Select ActiveSheet.Paste ActiveCell.Offset(2, 0).Range("A1").Select Loop End Sub
Kembali ke lembar Excel Anda. Letakkan penunjuk sel di nama berikutnya. Tekan Ctrl w dan makro akan memformat semua catatan Anda dalam beberapa detik.
Para penulis buku Excel mengatakan bahwa Anda tidak dapat melakukan sesuatu yang berguna dengan merekam makro. Tidak benar! Untuk orang yang akan melakukan cut dan paste 800 kali, makro ini sangat berguna. Butuh beberapa menit untuk merekam dan menyesuaikan. Ya, pemrogram profesional akan menunjukkan bahwa kode tersebut sangat tidak efisien. Excel menempatkan banyak hal di sana yang tidak perlu dimasukkan ke sana. Ya, jika Anda tahu apa yang Anda lakukan, Anda dapat menyelesaikan tugas yang sama dengan setengah baris yang akan berjalan dalam 1,2 detik, bukan 3 detik. TERUS? 3 detik jauh lebih cepat daripada 30 menit yang dibutuhkan tugas.
Beberapa tips lainnya untuk memulai perekam makro:
- Apostrof digunakan untuk menunjukkan komentar. Apa pun setelah tanda kutip akan diabaikan oleh VBA
- Ini adalah pemrograman berorientasi objek. Sintaks dasarnya adalah object.action. Jika kompiler berorientasi objek sedang bermain sepak bola, maka akan dikatakan "ball.kick" untuk menendang bola. Jadi "Selection.Cut" mengatakan untuk melakukan "edit> cut" pada pilihan saat ini.
- Dalam contoh di atas, pengubah Rentang relatif terhadap sel aktif. Jika sel aktif dalam B2 dan Anda mengatakan "ActiveCell.Range (" A1: C3 "). Pilih", lalu Anda memilih area 3 baris dengan 3 kolom yang dimulai di sel B2. Dengan kata lain, Anda memilih B2: D4. Mengatakan "ActiveCell.Range (" A1 ")" mengatakan untuk memilih rentang sel 1 x 1 dimulai dengan sel aktif. Ini sangat berlebihan. Ini setara dengan mengatakan "ActiveCell.Select".
- Simpan buku kerja Anda sebelum menjalankan makro untuk pertama kalinya. Dengan cara ini, jika ada kesalahan dan melakukan sesuatu yang tidak terduga, Anda dapat menutup tanpa menyimpan dan kembali ke versi yang disimpan.
Semoga contoh sederhana ini akan memberi Anda perekam makro pemula keberanian untuk merekam makro sederhana saat berikutnya Anda memiliki tugas berulang untuk dilakukan di Excel.