maafkan diriku, tidak diundang ikut ngomong
saya pernah "mengadakan" loop yg jumlah perulangannya lebih dari 50000
tetap bisa jalan
mendelete (*bukan *menghapus isi data) ROW bersyarat, dengan loop,
lebih aman dilakukan secara mundur (terbalik), dari index baris terbawah
menuju index baris teratas.
misal MyRange adalah Range A1:AD65000
makro ini sudah dicoba, tidak macet, dan tugasnya berhasil
Sub Loooooooop()
'ctv / 18 sep 2011 / BeExcel
Dim MyRange As Range, r As Long, JmlBaris As Long
Set MyRange = Range("A1:AD65000")
JmlBaris = MyRange.Rows.Count
Application.Calculation = xlCalculationManual
* ' Loop 65ribu step menDELETED ROW PENUH yg kolom X nya bertuliskan
"delete"*
For r = JmlBaris To 1 Step -1
If LCase(MyRange(r + 1, 24)) = "delete" Then
MyRange(r + 1, 1).EntireRow.Delete
End If
Next
Application.Calculation = xlCalculationAutomatic
MsgBox "SELESAI"
End Sub
cmiiw.-
siti
The DO and The DONT's ......
http://www.box.net/shared/2mbjr3g654k1ubiomijq
2011/9/17 Hachi Rizki <[email protected]>
> 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
>
>