Dari apa yang dapat saya lihat di web, ini adalah keluhan yang cukup umum, tetapi jawabannya tampaknya lebih jarang. Masalahnya adalah ini:
Kami memiliki sejumlah aplikasi Excel VBA yang bekerja sempurna di sejumlah mesin pengguna. Namun pada satu mesin mereka berhenti pada baris kode tertentu. Itu selalu merupakan garis yang sama, tetapi garis-garis itu tampaknya tidak memiliki kesamaan satu sama lain.
Jika Anda menekan F5 (jalankan) setelah berhenti, aplikasi berlanjut, jadi hampir seperti break point telah ditambahkan. Kami telah mencoba memilih 'hapus semua jeda' dari menu dan bahkan menambahkan jeda dan menghapusnya lagi.
Kami pernah mengalami masalah ini dengan satu aplikasi sebelumnya dan kami telah 'membuatnya' dengan memotong kode dari modul, mengkompilasi dan kemudian menempelkannya kembali dll.
Masalahnya sekarang tampaknya berkaitan dengan Excel itu sendiri daripada satu .xls, jadi kami sedikit tidak yakin bagaimana mengelola ini.
Setiap bantuan akan diterima dengan penuh syukur :)
Terima kasih,
Philip Whittington
Jawaban:
Saya telah menemukan solusi kedua.
Semoga ini bisa membantu seseorang.
sumber
Masalah ini berasal dari kekhasan aneh dalam Office / Windows.
Setelah mengembangkan potongan kode VBA yang sama dan menjalankannya ratusan kali (secara harfiah) selama beberapa hari terakhir saya mengalami masalah ini sekarang. Satu-satunya hal yang berbeda adalah bahwa sebelum mengalami masalah membingungkan ini, saya tidak sengaja mengakhiri eksekusi kode VBA dengan metode yang tidak lazim.
Saya membersihkan semua file temp, reboot, dll ... Ketika saya menjalankan kode lagi setelah semua ini saya masih mendapatkan masalah - sebelum saya memasuki loop pertama. Masuk akal bahwa "tekan" Debug "tombol di popup, lalu tekan dua kali [Ctrl + Break] dan setelah ini dapat terus tanpa berhenti" karena sesuatu dalam kombinasi Office / Windows belum merilis eksekusi. Terjebak.
Tindakan redundant Ctrl + Break mungkin menyelesaikan eksekusi yang tersisa.
sumber
Satu solusi ada di sini :
Tapi, setelah saya memasukkan baris kode ini, saya tidak dapat menggunakan Ctrl + Break lagi. Jadi itu berhasil tetapi tidak terlalu.
sumber
xlInterrupt
. (Ini juga secara otomatis mengaktifkan kembali ketika eksekusi kode selesai.) Jawaban Anda yang lain bekerja untuk saya, tetapi kasus terburuk ini dapat digunakan sebagai perbaikan sementara. Informasi lebih lanjut tentang Application.EnableCancelKeySaya menemukan memukul ctrl + break sementara makro tidak berjalan memperbaiki masalah.
sumber
Saya akan mencoba hal-hal perbaikan yang biasa: - Jalankan Rob Bovey's VBA Code Cleaner pada Kode VBA Anda - hapus semua addins pada PC pengguna, khususnya COM dan .NET addins - Hapus semua pengguna .EXD file (MSoft Update incompatibilities) - Run Excel Deteksi & Perbaikan pada sistem pengguna - periksa ukuran file .xlb pengguna (harus 20-30K) - Reboot lalu hapus semua file Temp pengguna
sumber
Terima kasih kepada semua orang atas masukan mereka. Masalah ini diselesaikan dengan memilih PERBAIKAN di Panel Kontrol. Saya kira ini secara eksplisit mendaftar ulang beberapa komponen COM asli Office dan melakukan hal-hal yang REINSTALL tidak. Saya berharap yang terakhir hanya melalui checklist dan kadang-kadang menerima apa yang ada jika sudah diinstal, mungkin. Saya kemudian memiliki masalah terpisah dengan mendaftarkan saya sendiri. NET dll untuk COM interop pada mesin pengguna (meskipun ini juga bekerja pada mesin lain) meskipun saya pikir ini adalah kesalahan saya daripada Microsoft. Terima kasih sekali lagi, saya sangat menghargainya.
sumber
Saya telah menemukan masalah ini beberapa kali selama pengembangan satu aplikasi Excel VBA yang kompleks. Terkadang Excel mulai merusak objek VBA secara acak. Dan satu-satunya obat adalah me-reboot mesin. Setelah reboot, Excel biasanya mulai bertindak normal.
Segera saya telah menemukan bahwa solusi yang mungkin untuk masalah ini adalah dengan menekan CTRL + Break sekali ketika makro TIDAK berjalan. Mungkin ini bisa membantu Anda juga.
sumber
Saya punya masalah ini juga menggunakan excel 2007 dengan buku kerja foobar.xlsm (makro diaktifkan) yang akan mendapatkan "Eksekusi kode telah terputus" dengan hanya mencoba menutup buku kerja pada X merah di sudut kanan tanpa makro berjalan di semua, atau semua bentuk "inisialisasi", buku kerja, atau makro lembar kerja. Pilihan yang saya dapatkan adalah "Akhir" atau "Lanjutkan", Debug selalu diklik. Saya lakukan seperti poster sebelumnya menyarankan Control Panel-> Program dan Fitur-> klik kanan "Microsoft Office Proffesional 2007" (dalam kasus saya) -> ubah-> perbaikan.
Ini menyelesaikan masalah bagi saya. Saya mungkin menambahkan ini terjadi segera setelah pembaruan MS dan saya juga menemukan addin di Excel yang disebut "Team Foundation" dari Microsoft yang tentu saja saya tidak menginstal secara sukarela
sumber
Saya ingin menambahkan rincian lebih lanjut ke jawaban Stan # 2 untuk alasan di bawah ini:
Saya menghadapi masalah ini sendiri lebih dari selusin kali dan tergantung pada kondisi proyek, saya memilih antara voodoo magic jawaban # 1 atau # 2. Ketika saya terus menghadapinya lagi, saya menjadi lebih tidak yakin mengapa itu terjadi.
Saya juga ingin menambahkan jawaban untuk pengguna Mac.
Ada beberapa keterbatasan dengan kedua kemungkinan jawaban ini:
Itu dapat terjadi karena salah satu alasan di bawah ini:
Sistem operasi tidak mengalokasikan sumber daya sistem untuk proses Excel. ( Solusi: Seseorang hanya perlu memulai sistem operasi - tingkat keberhasilan sangat rendah tetapi telah dikenal untuk bekerja berkali-kali)
P-code adalah kode antara yang digunakan dalam Visual Basic (sebelum .NET) dan karenanya masih digunakan dalam VBA. Ini memungkinkan eksekusi yang lebih kompak dengan mengorbankan eksekusi lebih lambat. Mengapa saya berbicara tentang kode-p? Karena kadang-kadang rusak antara beberapa eksekusi dan file besar atau hanya karena instalasi perangkat lunak (Excel) rusak di suatu tempat. Ketika p-code rusak. eksekusi kode terus terganggu. Larutan: Dalam kasus ini, diasumsikan bahwa kode Anda sudah mulai rusak dan kemungkinan di masa depan adalah bahwa buku kerja Excel Anda juga akan rusak memberi Anda pesan seperti "file excel rusak dan tidak dapat dibuka". Karenanya, sebagai solusi cepat, Anda dapat mengandalkan jawaban # 1 atau jawaban # 2 sesuai kebutuhan Anda. Namun, jangan pernah abaikan tanda-tanda korupsi. Lebih baik menyalin modul kode Anda di notepad, menghapus modul, menyimpan & menutup buku kerja, tutup excel. Sekarang, buka kembali buku kerja dan mulai membuat modul baru dengan kode yang disalin sebelumnya ke notepad.
Pengguna Mac, coba salah satu opsi di bawah ini dan dari mereka pasti akan bekerja tergantung pada arsitektur sistem Anda yaitu OS dan versi Office
Anda akan dimasukkan ke mode istirahat menggunakan kombinasi tombol di atas karena eksekusi makro menangguhkan segera menyelesaikan tugas saat ini. Ini adalah penggantian Langkah 2.
xlErrorHandler
bersama denganResume
pernyataan di Penangan Kesalahan jika kode kesalahan adalah 18. Kemudian, interupsi dikirim ke prosedur yang sedang berjalan sebagai kesalahan, dapat dijebak oleh kesalahan handler diatur dengan pernyataan On Error GoTo. Kode kesalahan trappable adalah 18. Prosedur saat ini terputus, dan pengguna dapat men-debug atau mengakhiri prosedur. Microsoft memberi peringatan bahwa jangan gunakan ini jika penangan kesalahan Anda memiliki melanjutkan pernyataan lain penangan kesalahan Anda selalu kembali ke pernyataan yang sama. Itulah tepatnya yang kita inginkan dalam gangguan yang tidak diinginkan dari eksekusi kode.sumber
Reputasi saya saat ini belum mengizinkan untuk memposting ini sebagai komentar. Stans solusi untuk masuk ke mode debug, tekan dua kali Ctrl + Break, mainkan, save memang menyelesaikan masalah saya, tapi saya punya dua tikungan tak terduga:
Struture proyek saya dilindungi kata sandi, jadi untuk masuk ke Mode Debug saya harus masuk ke mode Pengembang, klik pada struktur proyek dan masukkan kata sandi.
Proyek saya adalah file templat (.xmtl). Saya membuka file melalui klik ganda yang membukanya sebagai .xml dengan "1" di akhir nama file sebelumnya. Saya memperbaiki bug sebagai dengan instruksi Stans dan menyimpannya sebagai ... 1.xml file. Ketika saya kemudian membuka templat lagi, kali ini sebagai templat, dan ingin menerapkan perbaikan bug yang sama ke file itu, bug itu hilang! Saya tidak mengubah file ini dan masih tidak ada bug saat menjalankan Makro. Ini berarti bagi saya bahwa bug sebenarnya tidak ada dalam file, tetapi dalam pengaturan (tersembunyi) di Excel.
sumber
Instal ulang dan tambal itu :) Selain itu sulit untuk mengatakannya.
sumber