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
>
>

Kirim email ke