4 Kesalahan yang Harus Dihindari Saat Memprogram Makro Excel Dengan VBA

4 Kesalahan yang Harus Dihindari Saat Memprogram Makro Excel Dengan VBA

Microsoft Excel sudah menjadi alat analisis data yang mumpuni, tetapi dengan kemampuan untuk mengotomatiskan tugas yang berulang dengan makro dengan menulis kode sederhana dalam Visual Basic for Applications (VBA), itu jauh lebih kuat. Digunakan secara tidak benar, bagaimanapun, VBA dapat menyebabkan masalah.





Bahkan jika Anda bukan seorang programmer, VBA menawarkan fungsi sederhana yang memungkinkan Anda untuk menambahkan fungsionalitas yang mengesankan ke spreadsheet Anda.





Tidak masalah jika Anda seorang guru VBA yang membuat dasbor di Excel, atau seorang pemula yang menulis skrip sederhana yang melakukan perhitungan sel dasar. Ikuti teknik pemrograman sederhana ini untuk mempelajari cara menulis kode yang bersih dan bebas bug.





Memulai Dengan VBA

VBA dapat melakukan segala macam hal rapi untuk Anda. Dari menulis makro yang mengubah lembar menjadi mengirim email dari spreadsheet Excel menggunakan skrip VBA ada sangat sedikit batasan pada produktivitas Anda.

Jika Anda belum memprogram dalam VBA di Excel sebelumnya, Anda harus mengaktifkan alat Pengembang di program Excel Anda. Kabar baiknya adalah, mengaktifkan alat Pengembang sebenarnya cukup mudah. Pergi saja ke Mengajukan > Pilihan lalu Sesuaikan Pita . Pindahkan saja Pengembang tab dari panel kiri ke kanan.



Pastikan kotak centang telah mengaktifkan tab ini, dan sekarang tab Pengembang akan muncul di menu Excel Anda.

Cara termudah untuk masuk ke jendela editor kode dari sini adalah dengan mengklik Lihat Kode tombol di bawah Kontrol di menu Pengembang.





Anda sekarang siap untuk menulis kode VBA! Tab ini adalah tempat Anda akan mengakses VBA serta merekam makro di Excel . Sekarang Excel siap bekerja, mari kita bahas beberapa kesalahan umum yang harus dihindari, dan cara mencegahnya.

1. Nama Variabel yang Mengerikan

Sekarang Anda berada di jendela kode, saatnya untuk mulai menulis kode VBA. Langkah penting pertama di sebagian besar program, apakah itu dalam VBA atau bahasa lainnya, adalah mendefinisikan variabel Anda. Tidak memberi nama variabel dengan benar adalah salah satu kesalahan pemrograman paling umum yang dilakukan pengembang baru.





cara membuka file .gz di windows

Sepanjang dekade penulisan kode saya, saya telah menemukan banyak aliran pemikiran dalam hal konvensi penamaan variabel dan mempelajari beberapa aturan dengan cara yang sulit. Berikut adalah beberapa tip cepat untuk membuat nama variabel:

  • Buat mereka sesingkat mungkin.
  • Buat mereka sedeskriptif mungkin.
  • Awali dengan tipe variabel (boolean, integer, dll...).

Berikut adalah contoh screenshot dari program yang sering saya gunakan untuk melakukan panggilan WMIC Windows dari Excel untuk mengumpulkan informasi PC.

Ketika Anda ingin menggunakan variabel di dalam suatu fungsi di dalam modul atau objek (saya akan menjelaskannya di bawah), maka Anda perlu mendeklarasikannya sebagai variabel 'publik' dengan mengawali deklarasi dengan Publik . Jika tidak, variabel dideklarasikan dengan mengawalinya dengan kata Tidak ada .

Seperti yang Anda lihat, jika variabelnya adalah bilangan bulat, itu diawali dengan ke dalam . Jika itu string, maka P . Ini adalah preferensi pribadi yang membantu nanti saat Anda memprogram karena Anda akan selalu tahu jenis data apa yang dimiliki variabel dengan melirik namanya.

Juga, pastikan untuk memberi nama lembar di buku kerja Excel Anda.

Dengan cara ini, saat Anda merujuk ke nama lembar dalam kode VBA Excel Anda, Anda mengacu pada nama yang masuk akal. Dalam contoh di atas, saya memiliki lembar di mana saya menarik informasi Jaringan, jadi saya sebut lembar 'Jaringan'. Setiap kali saya ingin mereferensikan lembar Jaringan, saya dapat melakukannya dengan cepat tanpa melihat nomor lembar apa itu.

2. Breaking Alih-alih Looping

Salah satu masalah paling umum yang dialami programmer VBA baru ketika mereka mulai menulis kode adalah menangani loop dengan benar.

Pengulangan sangat umum di Excel karena sering kali Anda memproses nilai data di seluruh baris atau kolom, jadi Anda perlu mengulang untuk memproses semuanya.

Pemrogram baru sering ingin keluar dari loop (VBA For loops atau VBA Do While loops ) secara instan ketika kondisi tertentu benar.

Berikut adalah contoh metode ini yang digunakan untuk memutus loop VBA.

For x = 1 To 20
If x = 6 Then Exit For
y = x + intRoomTemp
Next i

Pemrogram baru mengambil pendekatan ini karena mudah. Coba dan hindari memutus loop secara eksplisit.

Lebih sering daripada tidak, kode yang muncul setelah 'break' itu penting untuk diproses. Cara yang jauh lebih bersih dan lebih profesional untuk menangani kondisi di mana Anda ingin meninggalkan loop di tengah jalan adalah dengan memasukkan kondisi keluar itu dalam sesuatu seperti pernyataan VBA While.

While (x>=1 AND x<=20 AND x6)
For x = 1 To 20
y = x + intRoomTemp
Next i
Wend

Ini memungkinkan aliran logis dari kode Anda. Sekarang kode akan berulang dan berhenti setelah mencapai 6. Tidak perlu menyertakan perintah EXIT atau BREAK yang canggung di tengah loop.

3. Tidak Menggunakan Array

Kesalahan menarik lainnya yang dilakukan oleh pemrogram VBA baru adalah mencoba memproses semua yang ada di dalam banyak loop bersarang yang menyaring baris dan kolom selama proses perhitungan.

Ini juga dapat menyebabkan masalah kinerja utama. Looping melalui kolom dan mengekstrak nilai setiap saat adalah pembunuh pada prosesor Anda. Cara yang lebih efisien untuk menangani daftar angka yang panjang adalah dengan menggunakan array.

Jika Anda belum pernah menggunakan array sebelumnya, jangan takut. Bayangkan sebuah array sebagai nampan es batu dengan sejumlah 'kubus' yang dapat Anda masukkan informasinya. Kubus diberi nomor 1 sampai 12, dan begitulah cara Anda 'memasukkan' data ke dalamnya.

Anda dapat dengan mudah mendefinisikan array hanya dengan mengetik Redupkan arrMyArray(12) sebagai Integer .

cari semua jejaring sosial sekaligus gratis

Ini menciptakan 'baki' dengan 12 slot yang tersedia untuk Anda isi.

Berikut adalah tampilan kode perulangan baris tanpa array:

Sub Test1()
Dim x As Integer
intNumRows = Range('A2', Range('A2').End(xldown)).Rows.Count
Range('A2').Select
For x = 1 To intNumRows
If Range('A' & str(x)).value <100 then
intTemp = (Range('A' & str(x)).value) * 32 - 100
End If
ActiveCell.Offset(1, 0).Select
Next
End Sub

Dalam contoh ini, kode sedang diproses ke bawah melalui setiap sel dalam rentang dan melakukan perhitungan suhu.

Jika Anda ingin melakukan perhitungan lain pada nilai yang sama ini, prosesnya akan kikuk. Anda harus menduplikasi kode ini, memproses semua sel ini, dan melakukan perhitungan baru Anda. Semua untuk satu perubahan!

Berikut adalah contoh yang lebih baik, menggunakan array. Pertama, mari kita buat arraynya.

Sub Test1()
Dim x As Integer
intNumRows = Range('A2', Range('A2').End(xldown)).Rows.Count
Range('A2').Select
For x = 1 To intNumRows
arrMyArray(x-1) = Range('A' & str(x)).value)
ActiveCell.Offset(1, 0).Select
Next
End Sub

NS x-1 untuk menunjuk ke elemen array hanya diperlukan karena loop For dimulai dari 1. Elemen array harus dimulai dari 0.

Sekarang setelah Anda memiliki array, sangat mudah untuk memproses isinya.

Sub TempCalc()
For x = 0 To UBound(arrMyArray)
arrMyTemps(y) = arrMyArray(x) * 32 - 100
Next
End Sub

Contoh ini melewati seluruh larik baris ( UBound memberi Anda jumlah nilai data dalam array), melakukan perhitungan suhu, dan kemudian memasukkannya ke dalam array lain yang disebut arrMyTemps .

4. Menggunakan Terlalu Banyak Referensi

Baik Anda memprogram dalam Visual Basic atau VBA yang lengkap, Anda harus menyertakan 'referensi' untuk mengakses fitur tertentu.

Referensi semacam 'perpustakaan' yang diisi dengan fungsionalitas yang dapat Anda manfaatkan jika Anda mengaktifkan file itu. Anda dapat menemukan Referensi di tampilan Pengembang dengan mengklik Peralatan di menu lalu klik Referensi .

Apa yang akan Anda temukan di jendela ini adalah semua referensi yang saat ini dipilih untuk proyek VBA Anda saat ini.

Anda harus memeriksa daftar ini karena referensi yang tidak perlu dapat membuang sumber daya sistem. Jika Anda tidak menggunakan manipulasi file XML, lalu mengapa tetap memilih Microsoft XML? Jika Anda tidak berkomunikasi dengan database, hapus Microsoft DAO, dll.

Jika Anda tidak yakin dengan fungsi referensi yang dipilih ini, tekan F2 dan Anda akan melihat Object Explorer. Di bagian atas jendela ini, Anda dapat memilih pustaka referensi untuk dijelajahi.

Setelah dipilih, Anda akan melihat semua objek dan fungsi yang tersedia, yang dapat Anda klik untuk mempelajari lebih lanjut.

Misalnya, ketika saya mengklik pustaka DAO, dengan cepat menjadi jelas bahwa ini semua tentang menghubungkan dan berkomunikasi dengan database.

Mengurangi jumlah referensi yang Anda gunakan dalam proyek pemrograman adalah hal yang masuk akal, dan akan membantu membuat aplikasi Anda secara keseluruhan berjalan lebih efisien.

cara menghilangkan pixel mati

Pemrograman di Excel VBA

Seluruh gagasan untuk benar-benar menulis kode di Excel membuat takut banyak orang, tetapi ketakutan ini sebenarnya tidak perlu. Visual Basic for Applications adalah bahasa yang sangat sederhana untuk dipelajari, dan jika Anda mengikuti praktik umum dasar yang disebutkan di atas, Anda akan memastikan bahwa kode Anda bersih, efisien, dan mudah dimengerti.

Jangan berhenti di situ. Bangun dasar keterampilan Excel yang kuat dengan Tutorial VBA untuk pemula . Kemudian terus belajar tentang VBA dan makro dengan sumber daya untuk membantu Anda mengotomatiskan spreadsheet Anda.

Membagikan Membagikan Menciak Surel Apakah Layak Mengupgrade ke Windows 11?

Windows telah didesain ulang. Tetapi apakah itu cukup untuk meyakinkan Anda untuk beralih dari Windows 10 ke Windows 11?

Baca Selanjutnya
Topik-topik yang berkaitan
  • Produktifitas
  • Pemrograman
  • Pemrograman
  • Pemrograman Visual Basic
  • Microsoft Excel
Tentang Penulis Anthony Grant(40 Artikel Diterbitkan)

Anthony Grant adalah penulis lepas yang meliput Pemrograman dan Perangkat Lunak. Dia jurusan Ilmu Komputer yang berkecimpung dalam pemrograman, Excel, perangkat lunak, dan teknologi.

More From Anthony Grant

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan