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