Dear Mr. Kid,

untuk tabel sourcenya sudah sesuai dengan asumsi Mr :d

sebenarnya tujuan saya adalah mendelete rownya, karena data yang ada "delete" 
nya tidak akan dipakai pada proses pengolahan data selanjutnya..
Setelah mengutak-atik saya menemukan caranya, logikanya sama dengan cara yang 
mas sebutkan, tapi scripnya agak beda...

Namun saya masih bertanya2 tentang jumlah maksimum loop..
karena rekan kerja saya juga mengalami hal serupa, dimana loop nya error ketika 
datanya sekitar 50.000-an
Ada yang bisa memberi penjelasan, atau kah ada error lainnya yang saya tidak 
sadar..

terima kasih,
Hachi



________________________________
Dari: Mr. Kid <[email protected]>
Kepada: [email protected]
Dikirim: Kamis, 15 September 2011 10:35
Judul: Re: ]] XL-mania [[ Maximum Loop


  
Dear Hachi,

Asumsinya tabel adalah tabel yang baik, yaitu :
1. tabel data dari kolom A
2. Header di baris 1 dan hanya 1 baris serta tidak ada merge cell 
3. Tidak ada kolom blank atau kolom tanpa header
4. Data mulai dari baris 2
5. Tidak ada baris kosong antar record

dim rngData as rng

activesheet.autofiltermode=false

'jika proses dipilih untuk men-delete baris (bukan menghapus nilai)
set rngdata=range("a1").currentregion

'jika proses dipilih untuk menghapus nilai saja (akan ada baris kosong)
'set rngdata=range("a1:x1").resize(activesheet.usedrange.rows.count)

with rngdata
     .autofilter 24,"delete"

     'jika akan delete seluruh baris data (supaya tidak ada baris blank antar 
record = terjaga tetap sebagai tabel yang baik)
     
.offset(1).specialcells(xlcelltypevisible).entrirerow.delete                  
'ganti .entirerow.delete dengan .clearcontents jika ingin membiarkan ada baris 
kosong
end with
activesheet.autofiltermode=false

Thank You and regards
Kid.


2011/9/14 Hachi Rizki <[email protected]>

 
>  
>Dear Excel Expert,
>
>Saya ketemu masalah dengan looping for next pada VBA
>
>saya menggunakan sintaks sebagai berikut 
>
>For i = 2 To baris
>        If proses.Cells(i, "X").Value = "delete" Then
>            proses.Range(Cells(i, 1), Cells(i, "Z")).Value = vbNullString
>            proses.Cells(i, 1).Select
>        End If
>Next i
>
>sebelumnya saya gunakan count untuk baris, sehingga baris mencerminkan jumlah 
>baris dari data yang bersangkutan.
>Saya run macro tersebut 2 kali. Pertama saya menggunakan data dengan jumlah 
>row sebanyak 28000-an dan berjalan dengan baik
>Selanjutnya saya coba dengan data dengan jumlah row sebanyak 105.000-an. Dan 
>muncuk error. 'type mismatch'
>
>pertanyaan saya :
>- apakah memang ada batas maksimum untuk loop for - next ? kalau ada, 
>berapakah jumlah maksimumnya ..??
>- ada teman2 yang punya alternatif untuk scrip nya. Tujuan saya adalah 
>menghilangkan baris yang pada kolom X ada tulisan "delete"
>
>terima kasih,
>hachi
>
>
>

 

Kirim email ke