Objek VBA Diperlukan

Objek yang Diperlukan di Excel VBA

Kesalahan adalah bagian tak terpisahkan dari bahasa pengkodean tetapi kejeniusan sebenarnya terletak pada menemukan kesalahan dan memperbaiki kesalahan itu. Langkah pertama dalam memperbaiki kesalahan tersebut adalah kecerdasan untuk menemukan mengapa kesalahan itu terjadi. Jika Anda dapat menemukan mengapa kesalahan itu datang maka itu adalah pekerjaan yang sangat mudah untuk memperbaiki kesalahan itu tanpa berkeringat. Salah satu kesalahan dalam pengkodean VBA adalah "Diperlukan Objek".

Jika Anda ingat saat mempelajari variabel dan menetapkan tipe data ke variabel tersebut, kami juga memiliki tipe data "Objek". Ketika tipe data objek ditetapkan dan jika objek itu tidak ada di lembar kerja atau buku kerja yang kita rujuk maka kita akan mendapatkan pesan kesalahan VBA sebagai "Objek Diperlukan" . Jadi, sebagai pembuat kode baru, adalah umum untuk menyatakan panik dalam situasi tersebut karena pada tingkat awal pemula tidak dapat menemukan penyebab kesalahan ini.

Mengapa Terjadi Kesalahan yang Diperlukan Objek? (dan ... Bagaimana cara memperbaikinya?)

Oke, dibutuhkan dua atau tiga contoh untuk benar-benar memahami mengapa kesalahan ini terjadi dan cara memperbaikinya.

Anda dapat mendownload Template Excel Diperlukan Objek VBA ini di sini - Template Excel Diperlukan Objek VBA

Untuk contoh lihat kode di bawah ini.

Kode:

 Sub Last_Row () Dim Wb As Workbook Dim Ws As Worksheet Redup MyToday As Date Set Wb = ThisWorkbook Set Ws = ThisWorkbook.Worksheets ("Data") Set MyToday = Wb.Ws.Cells (1, 1) MsgBox MyToday End Sub 

Izinkan saya menjelaskan kepada Anda kode di atas untuk Anda.

Saya telah mendeklarasikan tiga variabel dan dua variabel pertama mengacu pada objek "Buku Kerja" dan "Lembar Kerja". Variabel ketiga mengacu pada tipe data "Tanggal".

Ketika tipe data "Objek" ditetapkan ke variabel, kita perlu menggunakan kata "Set" untuk menetapkan referensi objek ke variabel, jadi dalam dua baris berikutnya dengan menggunakan kata kunci "Set" saya telah menetapkan referensi dari "Buku Kerja Ini" ke variabel "Wb" karena variabel ini menyimpan tipe data objek sebagai "Buku Kerja" dan untuk variabel "Ws" saya telah menetapkan objek lembar kerja dari lembar kerja "Data" di buku kerja ini.

 Setel Wb = Buku Kerja Ini
 Set Ws = ThisWorkbook.Worksheets ("Data")
  • Pada baris berikutnya untuk variabel tipe data "Tanggal" juga saya telah menggunakan kata kunci "Set" untuk menetapkan nilai nilai sel A1 di buku kerja ini (Wb) dan di lembar kerja "Data" (Ws).
 Set MyToday = Wb.Ws.Cells (1, 1)
  • Pada baris berikutnya, kami menunjukkan nilai nilai variabel "MyDate" dari nilai sel A1 di kotak pesan di VBA.
MsgBox MyToday
  • Ok, mari kita jalankan kode ini dan lihat apa yang kita dapatkan sebagai hasilnya.

Seperti yang Anda lihat di atas, ini menunjukkan pesan kesalahan VBA sebagai "Objek Diperlukan" . Ok, saatnya untuk memeriksa mengapa kita mendapatkan pesan kesalahan ini.

  • Pada gambar pesan kesalahan di atas di bagian kode sambil menampilkan pesan kesalahan itu telah menyoroti bagian kesalahan kode dengan warna biru.

  • Jadi, pertanyaan yang tersisa adalah mengapa kami mendapat kesalahan ini. Hal pertama yang perlu kita lihat adalah tipe data variabel khusus ini. Kembali ke baris kode sebelumnya di mana kita telah menetapkan tipe data ke variabel "MyDate".

  • Kami telah menetapkan tipe data variabel sebagai "Tanggal" dan sekarang kembali ke baris kesalahan sekarang.

Di baris ini, kami telah menggunakan kata kunci "Set" sedangkan tipe data kami bukan tipe data "Objek". Jadi saat kode VBA melihat kata kunci "Set" itu mengasumsikan itu adalah tipe data objek dan mengatakan itu membutuhkan referensi objek.

Jadi, intinya adalah kata kunci "Set" digunakan untuk merujuk hanya ke referensi variabel objek seperti Lembar Kerja, Buku Kerja, dll ...

Contoh 1

Sekarang lihat kode di bawah ini.

Kode:

 Sub Object_Required_Error () Range ("A101"). Value = Application1.WorksheetFunction.Sum (Range ("A1: A100")) End Sub 

Dalam kode di atas, kami telah menggunakan fungsi lembar kerja "SUM" untuk mendapatkan total nilai sel dari A1 hingga A100. Ketika Anda menjalankan kode ini, kami akan menemukan kesalahan di bawah ini.

Ups !! Ia mengatakan "Kesalahan run-time '424': Objek Diperlukan.

Sekarang mari kita lihat kodenya sekarang.

Alih-alih menggunakan "Aplikasi", kami telah salah menggunakan "Aplikasi1", jadi ini menemukan kesalahan "Diperlukan Objek" dalam kode VBA.

Jika kata "Option Explicit" diaktifkan maka kita akan mendapatkan error "Variable Not Defined".

Hal-hal untuk diingat

  • Object Required artinya referensi tipe data objek harus akurat.
  • Ketika opsi kata eksplisit tidak diaktifkan dalam pengkodean maka kita akan mendapatkan kesalahan yang dibutuhkan Objek untuk kata-kata variabel yang salah eja dan jika Opsi Eksplisit diaktifkan, kita akan mendapatkan kesalahan variabel tidak ditentukan untuk kata-kata variabel yang salah eja.