Tecnologia, programação e muito Visual FoxPro.

sábado, 17 de setembro de 2011

Bls: ]] XL-mania [[ Maximum Loop

 

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 <mr.nmkid@gmail.com>
Kepada: XL-mania@yahoogroups.com
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 <hachiuz_ld27@yahoo.co.id>
 
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





__._,_.___
Recent Activity:
+-:: XL-mania ::::::::::::::::::::----------------------------------+
| selamat idul fitri, mohon maaf lahir dan batin...                 |
| www.linkedin.com/company/xl-mania                                 |
| ayo pesan buku "mengapa boss benci chart anda"  :D :D :D          |
+-------------------------------------------------------------------+
| DILARANG : MLM, money game, OOT, iklan tanpa izin, SARA, testing, |
| pembicaraan pribadi, one line message,  melecehkan,  tidak sopan. |
+-------------------------------------------------------------------+
| Buat subjek yang kreatif, jangan : "tanya", "help", "mohon bantu" |
| Usahakan besar attachment < 200 kb. Gunakan  winzip  jika  perlu. |
+-------------------------------------------------------------------+
| Ajak teman-teman Anda bergabung dengan mengirim e-mail kosong ke  |
| XL-mania-subscribe@yahoogroups.com atau kirimkan mereka file dari |
| http://groups.yahoo.com/group/XL-mania/files/Promotion/           |
+-------------------------------------------------------------------+
| Berikan testimoni di : http://www.friendster.com/xlmania atau...  |
| http://www.xl-mania.com/2008/06/testimoni-xl-mania.html           |
+-------------------------------------------------------------------+
| Message lama ada di :                                             |
| http://groups.yahoo.com/group/XL-mania/messages [perlu yahoo id]  |
| http://www.mail-archive.com/xl-mania@yahoogroups.com              |
+-------------------------------------------------------------------+
MARKETPLACE
A bad score is 598. A bad idea is not checking yours, at freecreditscore.com.

Stay on top of your group activity without leaving the page you're on - Get the Yahoo! Toolbar now.

.

__,_._,___

Nenhum comentário:

Arquivo do blog