Cara Memperbaiki Kesalahan Waktu Berjalan 1004 di Excel

Run-time error 1004 adalah kode kesalahan yang berkaitan dengan Microsoft Visual Basic yang telah diketahui mempengaruhi pengguna Microsoft Excel. Kesalahan diketahui paling lazim di Excel 2003 dan Excel 2007, meskipun tidak ada versi aplikasi lembar kerja populer Microsoft untuk komputer aman dari ancaman yaitu Run-time error 1004. Dalam kebanyakan kasus, pengguna yang dipengaruhi oleh masalah ini melihat salah satu dua variasi Run-time error 1004 yang berbeda. Secara keseluruhan, dua variasi Run-time error 1004 berbunyi:

Kesalahan run-time '1004':

Metode Penyalinan Kelas Lembar Kerja gagal ”

Kesalahan run-time '1004':

Kesalahan yang ditentukan aplikasi atau yang ditentukan objek ”

Pesan kesalahan yang Anda lihat mungkin juga sedikit berbeda, dalam beberapa kasus, meskipun kode kesalahan akan tetap sama. Apa pun versi masalah yang Anda alami, hampir selalu terjadi saat menjalankan makro di Excel yang dirancang untuk menyalin lembar kerja dan kemudian menempatkan salinan ke dalam buku kerja yang sama dengan lembar kerja asli.

Tidak seperti masalah teknologi terburuk di luar sana, penyebab Run-time error 1004 dalam Microsoft Excel diketahui. Kesalahan run-time 1004 terjadi ketika makro yang Anda jalankan menyalin lembar kerja asli ke buku kerja dengan nama yang ditentukan yang tidak Anda simpan dan tutup sebelum Anda menjalankan makro. Contoh makro seperti itu dapat dilihat pada kode berikut:

 Sub CopySheetTest() Dim iTemp As Integer Dim oBook As Workbook Dim iCounter As Integer ' Create a new blank workbook: iTemp = Application.SheetsInNewWorkbook Application.SheetsInNewWorkbook = 1 Set oBook = Application.Workbooks.Add Application.SheetsInNewWorkbook = iTemp ' Add a defined name to the workbook ' that RefersTo a range: oBook.Names.Add Name:="tempRange", _ RefersTo:="=Sheet1!$A$1" ' Save the workbook: oBook.SaveAs "c:\test2.xls" ' Copy the sheet in a loop. Eventually, ' you get error 1004: Copy Method of ' Worksheet class failed. For iCounter = 1 To 275 oBook.Worksheets(1).Copy After:=oBook.Worksheets(1) Next End Sub 

Karena penyebab Run-time error 1004 dalam konteks Microsoft Excel diketahui, seperti resolusi. Selain solusi untuk masalah ini, apa yang juga tersedia untuk pengguna yang terkena dampaknya adalah solusi yang dapat digunakan jika solusi tidak berfungsi atau mereka tidak menemukan solusi sebagai opsi yang layak.

Solusinya:

Solusi untuk masalah khusus ini adalah dengan mengedit kode makro yang Anda jalankan untuk menyimpannya secara berkala dan menutup buku kerja target saat membuat salinan lembar kerja. Kode untuk makro yang melakukan ini akan terlihat seperti di bawah ini:

 Sub CopySheetTest() Dim iTemp As Integer Dim oBook As Workbook Dim iCounter As Integer ' Create a new blank workbook: iTemp = Application.SheetsInNewWorkbook Application.SheetsInNewWorkbook = 1 Set oBook = Application.Workbooks.Add Application.SheetsInNewWorkbook = iTemp ' Add a defined name to the workbook ' that RefersTo a range: oBook.Names.Add Name:="tempRange", _ RefersTo:="=Sheet1!$A$1" ' Save the workbook: oBook.SaveAs "c:\test2.xls" ' Copy the sheet in a loop. Eventually, ' you get error 1004: Copy Method of ' Worksheet class failed. For iCounter = 1 To 275 oBook.Worksheets(1).Copy After:=oBook.Worksheets(1) 'Uncomment this code for the workaround: 'Save, close, and reopen after every 100 iterations: If iCounter Mod 100 = 0 Then oBook.Close SaveChanges:=True Set oBook = Nothing Set oBook = Application.Workbooks.Open("c:\test2.xls") End If Next End Sub 

Catatan: Jumlah persis kali Anda bisa menyalin lembar kerja sebelum Anda perlu menyimpan dan menutup buku kerja tempat salinan disimpan bervariasi dari satu kasus ke yang lain karena tergantung pada ukuran lembar kerja tempat Anda membuat salinan.

Solusi:

Seperti yang dinyatakan sebelumnya, solusi untuk masalah khusus ini juga ada. Mengatasi masalah ini adalah masalah sederhana dengan memasukkan lembar kerja baru dari templat alih-alih membuat salinan lembar kerja yang ada. Jika Anda ingin mengatasi masalah ini, inilah yang perlu Anda lakukan:

  1. Luncurkan Excel .
  2. Buat buku kerja baru, dan hapus setiap lembar kerja yang berisi buku kerja itu untuk satu.

  3. Format buku kerja.
  4. Tambahkan teks, data, dan / atau bagan apa pun yang ingin Anda miliki di dalam templat secara default ke satu-satunya lembar kerja yang sekarang ada di buku kerja.
  5. Jika Anda menggunakan Excel 2003 atau yang lebih lama, klik File > Save As . Jika Anda menggunakan Excel 2007 atau lebih baru, di sisi lain, klik tombol Microsoft Office dan kemudian klik Simpan Sebagai .

  6. Di bidang File name : ketikkan apa pun yang Anda inginkan untuk dipanggil template.
  7. Buka menu tarik turun di sebelah bidang Simpan sebagai tipe: dan klik pada Excel Template (.xlt) jika Anda menggunakan Excel 2003 atau sebelumnya, atau Excel Template (.xltx) jika Anda menggunakan Excel 2007 atau yang lebih baru untuk memilihnya.

  8. Klik Simpan .

  9. Setelah Anda berhasil membuat template, Anda dapat menyisipkannya secara terprogram dengan menggunakan baris kode berikut:

    Jenis Sheets.Add: = path \ nama file

Catatan: Pada baris kode yang dijelaskan di atas, path \ nama file perlu diganti dengan path lengkap (termasuk nama file lengkap) untuk lokasi templat sheet yang baru saja Anda buat.

Artikel Menarik