hmmm... gimana kalau pakai cara dengan membuat nama range dulu... (tapi nama range bisa dihapus oleh user, sengaja atau tidak sengaja... wkwkwkwk) itu loh, yang ada di ribbon Formulas -> grup menu Defined Names -> Name Manager -> New
Setelah itu barulah si nama range dipakai di VBA sheets("nama sheet").range("nama range yang sudah dibuat").clearcontents *** Gak perlu pakai select-select-an *** Jadi, cara yang begini ini nih range("blabla").select selection.clearcontents harap ditinggalkan... supaya bisa lebih maju lagi dalam memanfaatkan VBA kalau pakai select-select-an terus, gak maju-maju pakai VBA-nya masa' hari ini sama aja dengan yang kemarin-kemarin tanpa peningkatan... btw, cara yang baris kodenya panjang banget itu, bukannya tidak bisa diselesaikan andai tetep ngotot pakai baris kode sepanjang itu.. hanya tidak cantik sajah... kalau memang sukanya yang gak cantik, begini caranya supaya si gak cantik itu bekerja : > targetnya supaya 1 kali klik beres kan, gak peduli berapa pun baris kodenya... *cara 1 : Pakai 2 prosedur yang sudah ada itu* Sub hapus1() Sheets("OlahNil").Range("F10:I45,K10:N45,P10: S45,U10:X45,Z10:AC45,AE10:AH45,AJ10:AM45,AO10:AR45,AT10: AW45,AY10:BB45,BD10:BG45,BI10:BL45,BN10:BQ45,BS10:BV45,BX10: CA45,CC10:CF45,CH10:CK45,CM10:CP45,CR10:CU45,CW10:CZ45,DB10: DE45,DG10:DJ45,DL10:DO45,DQ10:DT45,DV10:DY45,EA10:ED45").ClearContents * hapus2 * End Sub Sub hapus2() Sheets("OlahNil").Range("EF10:EI45,EK10:EN45, EP10:ES45,EU10:EX45,EZ10:FC45,FE10:FH45,FJ10:FM45,FO10:FR45, FT10:FW45,FY10:GB45,GD10:GG45,GI10:GL45,GN10:GQ45,GS10:GV45, GX10:HA45,HC10:HF45,HH10:HK45,HM10:HP45,HR10:HU45,HW10:HZ45, IB10:IE45,IG10:IJ45,IL10:IO45,IQ10:IT45").ClearContents End Sub *cara 2 : Pakai 1 prosedur sajah* Sub hapus1() Sheets("OlahNil").Range("F10:I45,K10:N45,P10: S45,U10:X45,Z10:AC45,AE10:AH45,AJ10:AM45,AO10:AR45,AT10: AW45,AY10:BB45,BD10:BG45,BI10:BL45,BN10:BQ45,BS10:BV45,BX10: CA45,CC10:CF45,CH10:CK45,CM10:CP45,CR10:CU45,CW10:CZ45,DB10: DE45,DG10:DJ45,DL10:DO45,DQ10:DT45,DV10:DY45,EA10:ED45").ClearContents Sheets("OlahNil").Range("EF10:EI45,EK10:EN45, EP10:ES45,EU10:EX45,EZ10:FC45,FE10:FH45,FJ10:FM45,FO10:FR45, FT10:FW45,FY10:GB45,GD10:GG45,GI10:GL45,GN10:GQ45,GS10:GV45, GX10:HA45,HC10:HF45,HH10:HK45,HM10:HP45,HR10:HU45,HW10:HZ45, IB10:IE45,IG10:IJ45,IL10:IO45,IQ10:IT45").ClearContents End Sub *Tentang kenapa kalau digabung jadi puanjang buanget 1 baris malah error...* Kalau merujuk range pakai string alamat range yang seperti ini : Range("teks alamat range") maka 'teks alamat range' maksimal berisi 255 karakter saja. Itu batasan dari object range-nya sendiri Jadi, tidak usah sok kreatif pakai begini : (nanti ndak malah ketahuan kalo gak suka baca secara detil... wakakaka) dim sAlamat as string ' Tipe data string seperti yang dipakai si variabel sAlamat ini memang bisa berisi banyak sekali karakter (ribuan dah) sAlamat = "isi teks alamat range yang jumlah karakternya lebih dari 255 karakter" sheets("nama sheet").range( sAlamat ).clearcontents atau menyimpan alamat range yang panjang banget itu di sebuah cells, lalu dipakai seperti ini : with sheets("nama sheet") .range( .range("a1").value ).clearcontents 'alamat range yang panjang banget disimpan di cells a1 end with lha wong sudah jelas bahwa : object range menuntut, jika pakai notasi alamat bertipe string, maka maksimal panjang karakter string alamat range-nya adalah 255 karakter. sak jan-jan nya... kalau area yang akan diproses tersebut memiliki pola dan memiliki identifier, mungkin ada lebih banyak cara yang bisa digunakan.. Regards, Kid 2018-05-15 13:45 GMT+07:00 Prazt Math praztm...@gmail.com [belajar-excel] < belajar-excel@yahoogroups.com>: > > > Makasih responnya Mr.Kid… > metodenya ga harus itu, kasih metodenya Mr.kid ya… > > > > > > Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for > Windows 10 > > > > *From: *'Mr. Kid' mr.nm...@gmail.com [belajar-excel] > <belajar-excel@yahoogroups.com> > *Sent: *Selasa, 15 Mei 2018 13.37 > *To: *BeExcel <belajar-excel@yahoogroups.com> > *Subject: *Re: [belajar-excel] VBA hapus kolom nilai > > > > > > eh.. > > panjang banget baris kodenya..... > > tidak bisa diperpendekkah ? > > bukankah repot buanget penyesuaian baris kode-nya jika dilakukan insert > atau delete column atau row ? > > ada baiknya dipilih metode lain saja deh... > > > > gimana ? > > > > hehehe > > > > > > > > > > > > 2018-05-15 12:47 GMT+07:00 Prazt Math praztm...@gmail.com [belajar-excel] > <belajar-excel@yahoogroups.com>: > > > > Selamat siang para master, mohon pecerahannya, saya ingin membuat macro > vba untuk menghapus kolom nilai tetati terkendala, vba yang saya bikn > seperti berikut ; > > Sub hapus1() > > Range("F10").Select > > Sheets("OlahNil").Select > > Range("F10:I45,K10:N45,P10:S45,U10:X45,Z10:AC45,AE10: > AH45,AJ10:AM45,AO10:AR45,AT10:AW45,AY10:BB45,BD10:BG45,BI10: > BL45,BN10:BQ45,BS10:BV45,BX10:CA45,CC10:CF45,CH10:CK45,CM10: > CP45,CR10:CU45,CW10:CZ45,DB10:DE45,DG10:DJ45,DL10:DO45,DQ10: > DT45,DV10:DY45,EA10:ED45").Select > > > > Selection.ClearContents > > Range("E10").Select > > End Sub > > > > > > Sub hapus2() > > Range("F10").Select > > Sheets("OlahNil")..Select > > Range("EF10:EI45,EK10:EN45,EP10:ES45,EU10:EX45,EZ10:FC45, > FE10:FH45,FJ10:FM45,FO10:FR45,FT10:FW45,FY10:GB45,GD10:GG45, > GI10:GL45,GN10:GQ45,GS10:GV45,GX10:HA45,HC10:HF45,HH10:HK45, > HM10:HP45,HR10:HU45,HW10:HZ45,IB10:IE45,IG10:IJ45,IL10:IO45, > IQ10:IT45")..Select > > > > Selection..ClearContents > > Range("E10").Select > > End Sub > > > > ============================================================ > ======================================== > > > tetapi jika saya gabung menjadi seperti berikut ini supaya hanya satu kali > klik bisa terhapus karena masih dala 1 sheet kenapa kok error alias tidak > jalan ;saya memakai excel 2016 > > > > Sub hapus1() > > Range("F10").Select > > Sheets("OlahNil").Select > > Range("F10:I45,K10:N45,P10:S45,U10:X45,Z10:AC45,AE10: > AH45,AJ10:AM45,AO10:AR45,AT10:AW45,AY10:BB45,BD10:BG45,BI10: > BL45,BN10:BQ45,BS10:BV45,BX10:CA45,CC10:CF45,CH10:CK45,CM10: > CP45,CR10:CU45,CW10:CZ45,DB10:DE45,DG10:DJ45,DL10:DO45,DQ10: > DT45,DV10:DY45,EA10:ED45,EF10:EI45,EK10:EN45,EP10:ES45,EU10: > EX45,EZ10:FC45,FE10:FH45,FJ10:FM45,FO10:FR45,FT10:FW45,FY10: > GB45,GD10:GG45,GI10:GL45,GN10:GQ45,GS10:GV45,GX10:HA45,HC10: > HF45,HH10:HK45,HM10:HP45,HR10:HU45,HW10:HZ45,IB10:IE45,IG10: > IJ45,IL10:IO45,IQ10:IT45").Select > > > > Selection.ClearContents > > Range("E10").Select > > End Sub > > > > Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for > Windows 10 > > > > > > > > >