Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
Di Microsoft Excel, Anda menjalankan makro yang dapat menyalin lembar kerja dan menempatkan lembar kerja ke buku kerja yang sama dari yang asli. Ketika Anda melakukan hal ini, Anda mungkin menerima pesan kesalahan yang mirip salah satu dari pesan kesalahan berikut:
Kesalahan pengoperasian '1004': Metode Penyalinan Kelas Lembar Kerja gagal
Kesalahan pengoperasian '1004': Kesalahan aplikasi atau objek yang ditetapkan
Microsoft memberi contoh pemprograman untuk ilustrasi saja, tanpa garansi yang dinyatakan langsung maupun yang tidak langsung. Garansi ini meliputi, tetapi tidak dibatasi, garansi yang tersirat mengenai keadaan yang dapat diperjualbelikan atau kesesuaian untuk tujuan tertentu. Artikel ini menganggap Anda biasa dengan bahasa pemrograman yang sedang ditunjukkan dan dengan alat yang digunakan untuk membuat dan melakukan debug prosedur. Teknisi Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu. Meskipun demikian, mereka tidak akan mengubah contoh tersebut untuk menyediakan fungsionalitas tambahan atau membuat prosedur untuk memenuhi syarat khusus Anda.
Masalah ini bisa terjadi saat Anda memberi buku kerja dengan nama tertentu, kemudian menyalin lembar kerja beberapa kali tanpa menyimpan dan menutup buku kerja terlebih dahulu, seperti di dalam kode contoh berikut:
<![CDATA[
Sub CopySheetTest()
Dim iTemp As Integer
Dim oBook As Workbook
Dim iCounter As Integer
' Buat buku kerja kosong baru:
iTemp = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = 1
Set oBook = Application.Workbooks.Add
Application.SheetsInNewWorkbook = iTemp
' Tambah nama yang ditetapkan untuk buku kerja
' dengan RefersTo yang mengacu ke kisaran:
oBook.Names.Add Name:="tempRange", _
RefersTo:="=Sheet1!$A$1"
' Simpan buku kerja:
oBook.SaveAs "c:\test2.xls"
' Salin lembar di sebuah loop. Akhirnya,
' Anda menjumpai kesalahan 1004: Menyalin Metode
' Kelas lembar kerja telah gagal.
For iCounter = 1 To 275
oBook.Worksheets(1).Copy After:=oBook.Worksheets(1)
Next
End Sub
]]>
Untuk menyelesaikan persoalan ini, simpan dan tutup buku kerja secara berkala saat proses salinan terjadi, seperti di kode contoh berikut:
<![CDATA[
Sub CopySheetTest()
Dim iTemp As Integer
Dim oBook As Workbook
Dim iCounter As Integer
' Buat buku kerja kosong baru:
iTemp = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = 1
Set oBook = Application.Workbooks.Add
Application.SheetsInNewWorkbook = iTemp
' Tambah nama yang ditetapkan untuk buku kerja
' dengan RefersTo yang mengacu ke kisaran:
oBook.Names.Add Name:="tempRange", _
RefersTo:="=Sheet1!$A$1"
' Simpan buku kerja:
oBook.SaveAs "c:\test2.xls"
' Salin lembar di sebuah loop. Akhirnya,
' Anda menjumpai kesalahan 1004: Menyalin Metode
' Kelas lembar kerja telah gagal.
For iCounter = 1 To 275
oBook.Worksheets(1).Copy After:=oBook.Worksheets(1)
'Jangan memberi komentar kode ini selama bekerja:
'Simpan, tutup, dan buka kembali setiap 100 pengulangan:
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 berapa kali Anda dapat menyalin lembar kerjanya sebelum Anda harus menyimpan buku kerja akan berbeda-beda menurut ukuran lembar kerja.
Untuk menghindari masalah ini, sisipkan lembar kerja baru dari template selain dari menyalin lembar kerja yang ada. Untuk melakukan hal ini, ikuti petunjuk seperti yang sesuai untuk versi Excel yang sedang Anda jalankan.
Seberapa besar usaha yang anda keluarkan dalam menggunakan artikel ini?
Sangat kecil
Kecil
Menengah
Besar
Sangat besar
Apa yang dapat kami lakukan untuk meningkatkan informasi ini?
Untuk melindungi privasi Anda, jangan menyertakan informasi kontak dalam umpan balik Anda.
Terima kasih! Umpan balik Anda akan digunakan untuk membantu meningkatkan konten dukungan kami. Untuk opsi-opsi bantuan lebih lanjut, kunjungi Halaman Muka Bantuan dan Dukungan.