berikut adalah hasil perbandingan performanya:

>> data tidak ada NullString
cara 1 : Columns("A:A").Find(vbNullString).Select       Alamat akhir : $A$4
        Waktu : 0 | 246140
cara 2 : cells(rows.count,1).end(xlup).offset(1).select Alamat akhir : $A$4
        Waktu : 0 | 17474
cara 3 : Columns(1).Find("").Select                     Alamat akhir : $A$4
        Waktu : 0 | 1300
cara 4 : Cells(Rows.Count, 1).End(3).Offset(1).Select   Alamat akhir : $A$4
        Waktu : 0 | 753
cara 5 : Cells(Rows.Count, 1).End(3)(2).Select          Alamat akhir : $A$4
        Waktu : 0 | 989

>> data row 1 s/d 100K adalah NullString >> hasilnya tidak ada yang benar
xixixi :D
cara 1 : Columns("A:A").Find(vbNullString).Select       Alamat akhir : $A$2
        Waktu : 0 | 6220
cara 2 : cells(rows.count,1).end(xlup).offset(1).select Alamat akhir :
$A$100001    Waktu : 0 | 24968
cara 3 : Columns(1).Find("").Select                     Alamat akhir : $A$2
        Waktu : 0 | 12991
cara 4 : Cells(Rows.Count, 1).End(3).Offset(1).Select   Alamat akhir :
$A$100001    Waktu : 0 | 13245
cara 5 : Cells(Rows.Count, 1).End(3)(2).Select          Alamat akhir :
$A$100001    Waktu : 0 | 807

kesimpulan yang Jan peroleh:
>> perintah bertipe Numeric lebih cepat diolah Excel daripada perintah
bertipe String
>> data bertipe NullString akan mengacaukan hasil pencarian, mungkin untuk
menghindari hal ini maka diperlukan pengecekan menggunakan For Each - Next
atau SpecialCells terhadap range data, jika ditemukan NullString di antara
baris data pertama dengan terakhir maka baris tersebut harus dihapus dulu
sebelum melakukan proses write terhadap cell/range

Terima kasih pak Anton dan mr Kid untuk sharing ilmunya
terima kasih juga untuk pak Hendrik, berkat threadnya maka ilmu Jan
bertambah lagi.

Wassalam,

-MJR-


Pada 11 April 2013 16.15, summonery <[email protected]> menulis:

> **
>
>
> Proses jadi lebih cepat dikarenakan penyampaian menggunakan index atau
> enumerasinya lebih cepat ditangkap oleh Excel ketimbang penyampaian
> menggunakan teks.
>
> coba juga,
> Cells(Rows.Count, 1).End(3)(2).Select
>
> *O iya, diluar asumsi kasus pak Hendrik, mungkin mis Jan tertarik
> bagaimana perbandingan performanya apabila: misal, data dati row1 s.d.
> row1000000 kesemuanya (kita ekstrimkan) merupakan nullstring. Kita ketik di
> cell A1 formula ="" kemudian copy paste sampai row1000000, setelah itu
> semuanya divaluekan, copypastespecial: value row1:row1000000.*
> *
> *
> *
> *
> >semoga bermanfaat
>
>
> --- In [email protected], Jan Raisin <miss.jan.raisin@...>
> wrote:
> >
> > ini adalah hasil percobaan dengan keempat script
> >
> > script 1 dari pak hendrik
> > script 2 dari mr kid
> > script 3 & 4 dari pak Anton
> >
> > hasilnya sbb:
> >
> > cara 1 : Columns("A:A").Find(vbNullString).Select Alamat akhir : $A$4
> > Waktu : 0 | 4877
> > cara 2 : cells(rows.count,1).end(xlup).offset(1).select Alamat akhir :
> $A$4
> > Waktu : 0 | 1435
> > cara 3 : Columns(1).Find(").Select Alamat akhir : $A$4 Waktu
> > : 0 | 2371
> > cara 4 : Cells(Rows.Count, 1).End(3).Offset(1).Select Alamat akhir : $A$4
> > Waktu : 0 | 589
> >
> > ternyata yang paling cepat adalah script nomor 4 dari pak Anton,
> > padahal scriptnta mirip dengan script nomor 2 dari mr kid tapi perbedaan
> > waktunya bisa hampir sepertiganya sendiri.
> >
> > Bisa tolong dijelaskan oleh pak Anton atau mr Kid?
> >
> > Wassalam,
> >
> > -MJR-
> >
>
>  
>

Kirim email ke