Error 2147417848

  1. 5 tahun lalu
    Di sunting 5 tahun lalu oleh wawan_aja

    Pagi, mohon bantuannya agan2 semua, program vbe saya tiba error dan muncul peringatan run time error -2147417847("80010108)'. Program vbe ini urah 2 tahun jalan tanpa ada masalah dan tiba2 dari seminggu kemarin muncul error seperti gsmbar terlampir.Tambahan info vbe jalanndi excel 2003. Sebelumnya trima kasih atas bantuan dan masukannnya

  2. Caton

    22 Des 2018 Terverifikasi Indonesia + 20.101 Poin

    @wawan_aja ... program vbe saya tiba error dan muncul peringatan run time error -2147417847("80010108)'. Program vbe ini urah 2 tahun jalan tanpa ada masalah dan tiba2 dari seminggu kemarin muncul error seperti gsmbar terlampir.Tambahan info vbe jalanndi excel 2003 ...

    Error seperti pada gambar berikut:

    -image-

    umumnya terjadi dikarenakan variabel atau objek yang telah direferensikan (misalkan melalui perintah SET), terputus acuannya (variabel atau objek tersebut tidak lagi merujuk kepada objek yang ditetapkan). Penyebabnya beragam, biasanya sering terjadi karena:

    — masalah kompatibilitas antar versi Ms. Office. Meskipun sangat jarang terjadi, namun adakalanya masalah ini muncul dikarenakan file yang dibuat pada versi sebelumnya digunakan pada versi yang lebih baru. Struktur penyimpanan file yang berbeda, metode VBA melakukan referensi terhadap objek yang berubah, isu keamanan, proses kompilasi script VBA yang berbeda dan sebagainya seringkali dituding jadi penyebabnya. Solusinya pun jadi beragam ...
    — masalah kompatibilitas dari objek yang digunakan. Biasanya berkaitan dengan penggunaan ActiveX Object (Controls atau Libraries), misalkan penggunaan kontrol VB6 yang berbeda versi. Bisa juga terjadi karena objek yang direferensikan berbeda versi, meskipun fungsi yang dirujuk atau yang digunakan sama persis.
    — masalah keamanan (Access Control, Access Privileges).

    Solusinya? Tidak ada solusi pastinya ... Yang bisa dilakukan adalah dengan memeriksa pada baris mana kesalahan (masalah) tersebut terjadi, yakni dengan menekan tombol Debug. Periksa kembali baris script yang bermasalah tersebut. Saat proses debugging, VBA akan menunjukkan posisi atau baris script yang menimbulkan kesalahan tersebut (biasanya ditandai dengan baris berlatar kuning, atau ditunjukkan melalui teks yang terseleksi):

    -image-

    Bila masalah terjadi pada saat melakukan referensi terhadap objek Windows — misalkan setelah melakukan penetapan objek melalui teknik Early Binding, mungkin bisa mencoba memeriksa apakah kesalahan terjadi saat penetapan dilakukan dengan teknik Late Binding. Atau jika masalah terjadi pada objek Excel (misalkan pada Range Object atau Worksheet Object), mungkin bisa mencari atau menggunakan metode berbeda namun dengan target akhir yang sama.

    Yang pasti, tanpa mengetahui letak script yang bermasalah, sulit untuk menentukan apa penyebab atau kemungkinan solusinya ...

    Demikian.

  3. Trima kasih masukannya...sebelumnya saya sudah coba debug untuk mengetahui script yg bermasalah, tapi begitu klik tombol debug malah muncul tulisan excel stop working sepertibpada gambar sehingga tidak bisa melihat dimana script yang bermasalah.
    Mohon sarannya...terima kasih

  4. Caton

    22 Des 2018 Terverifikasi Indonesia + 20.101 Poin

    @wawan_aja ... sebelumnya saya sudah coba debug untuk mengetahui script yg bermasalah, tapi begitu klik tombol debug malah muncul tulisan excel stop working ...

    [1]. Bila memungkinkan, sebelum menjalankan fungsi yang bermasalah tersebut — misalkan sebelum menampilkan form ISSUANCE FORM, buka dahulu jendela VBE (sebaiknya dari awal jendela VBE dibuka dahulu, baru kemudian buka Workbook tersebut). Kemudian pada baris di mana kemungkinan masalah tersebut terjadi, berikan (tandai dengan) Breakpoint dengan menekan tombol F9, sehingga terlihat ± seperti berikut:

    -image-

    Berikan Breakpoint pada 1 atau 2 baris sebelum baris script yang dicurigai, atau pada baris script sebelum prosedur yang bermasalah dipanggil. Misalkan pada modul Module1 terdapat script seperti berikut:

    Sub ShowIssuanceForm()
       DoEvents
       frmIssuance.Show    '+--- Berikan breakpoint di sini!
    End Sub

    Pada contoh di atas, saat perintah frmIssuance.Show dieksekusi, maka VBA akan menghentikan proses pada baris tersebut. Lakukan proses debugging dengan menekan tombol F8 sekali-sekali guna merunut eksekusi dari setiap baris script.

    Pada saat dalam mode Break, baris-baris script VBA dapat diedit sesuai keinginan (tidak semuanya). Untuk melanjutkan proses secara normal, tekan tombol F5 atau klik tombol Run pada VBE Toolbar. Selain dengan menggunakan Breakpoint, eksekusi script VBA juga bisa dihentikan dengan memberikan perintah STOP sebelum baris yang diinginkan, contoh:

    Sub ShowIssuanceForm()
       DoEvents
       Stop    '+--- VBA akan berhenti pada baris ini!
       frmIssuance.Show
    End Sub

    [2]. Jika Workbook dibuat pada versi berbeda (misalkan pada Excel 2003) dan digunakan pada versi di atasnya (misalkan pada Excel 2010), coba simpan Workbook ke dalam versi XLSM atau XLSB. Tutup kemudian buka kembali Workbook hasil konversi tersebut.

    [3]. Upload file yang bermasalah agar rekan-rekan dapat mempelajari dan mencarikan solusinya. Jika file tidak ingin dipublish, silahkan upload melalui PM (diskusi pribadi) kepada saya atau rekan-rekan lainnya.

    Demikian.

 

atau Mendaftar untuk ikut berdiskusi!