Be-Excelers, File excel terlampir, terdiri dari dari 4 (empat) named range berupa object tabel jika dilihat melalui [Name Manager]. Tetapi jika saya jalankan vba code berikut: '============== Sub ShowAllNames() Dim n For Each n In ActiveWorkbook.Names n.Visible = True Next End Sub '===========
maka akan ditampilkan named range yang tersembunyi. Saya bermaksud untuk menghilangkan / men-delete names ini karena jika masih ada names tersebut akan menimbulkan masalah saat copy sheet. Biasanya saat copy sheet akan muncul pesan : The Name ‘_’ Already Exist…… Sebelumnya saya delete secara manual names yang tidak diperlukan melalui [Name Manager]. Supaya proses delete dan pemiihan bisa dilakukan dengan vba, saya telah menulis code berikut: '=================================== Sub DeleteNames() Dim n As Name, ex As Variant, x As Variant ex = Array("tbl", "print","znl")'name yang tidak dihapus For Each n In ActiveWorkbook.Names For Each x In ex If InStr(1, x, n.Name) = 0 Then n.Delete Exit For End If Next Next n End Sub '=================================== Mohon petunjuknya mengapa procedure DeleteNames tersebut tidak bisa dijalankan? Karena tidak tahu penyebab erronya, sementara saya modifikasi macro tersebut menjadi: '==================================== Sub DeleteNames() Dim n As Name, ex As Variant, x As Variant ex = Array("tbl", "print") For Each n In ActiveWorkbook.Names For Each x In ex If InStr(1, x, n.Name) = 0 Then On Error Resume Next n.Delete If Err.Number Then Resume Next Exit For End If Next Next n End Sub '=================================== Apakah memang solusinya seperti itu? atau ada cara lain selain menggunakan trapping error "On Resume Next"? Terimakasih, -zainul dari Blang Nisam, Aceh Timur. #dikirim_pakai_mail.yahoo.com_tanpa_pulsa#
DeleteHiddenNames.xlsx
Description: MS-Excel 2007 spreadsheet