Dan jadinya gini ya mr.kid :

Sub hapusNil()
    Range("F10").Select
    Sheets("OlahNil").Range("hapus_nil").ClearContents
    Range("E10").Select
End Sub


Sent from Mail for Windows 10

From: 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
Sent: Selasa, 15 Mei 2018 14.44
To: BeExcel
Subject: Re: [belajar-excel] VBA hapus kolom nilai

 
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 for Windows 10
 
From: 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
Sent: Selasa, 15 Mei 2018 13.37
To: BeExcel
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 for Windows 10
 
 
 



Kirim email ke