mohon dicoba usul saya, begini :
Sub sum()
' sum / penjumlahan biasa
Do
With Activecell
If IsEmpty(.Value) Then
If IsEmpty(.Offset(0, -1)) And IsEmpty(.Offset(0, -2)) Then
.Value = ""
Else
.FormulaR1C1 = "=sum(RC[-1],RC[-2])"
End If
End If
.Offset(1, 0).Select
End With
Loop Until *WorksheetFunction.CountA(ActiveCell(-1, 1).Resize(2, 3)) = 0
*
End Sub
intinya: Loop baru akan dihentikan *jika bertemu 2 baris contigous berisi 3
kolom*
*yg isinya konyong*... ( eh kosong dinq... )
Kalau hanya ketemu SATU baris (berisi 3 cell sebaris) kosong... cuek saja
!..
Sebetulnya *Menselect cell *itu, kata mbak siti, memperlama proses;
terutama jika di setiap Step dalam loop terjadi range / cell selection. dan
jumlah
baris yg akan "diurusin" sudah dlm ordo ribuan.
Makro ini masih bisa dipercepat dengan menghilangkan *Method Select* dan
mengganti proses test tiap cell* bukan dengan cara menSELECT* dulu setiap
cell
(agar menjadi activecell)* tetapi* *merujuk alamatnya* dimana indexRow-nya
setiap step dinaikkan; dengan misalnya
r = r + 1
If Len(*xCell(r,1)*) = 0 Then
Itu hanya saran, tidak harus anda ikuti, karena tiap "pemrogram" punya
stylenya masing2
wassalamualaikum wr wb,
hapsari
2011/8/25 Novan Dwiascahyo <[email protected]>
> Dear XL-mania,****
>
> Mohon bantuannya memperbaiki formula macro yg menggunakan Do.. Loop,
> sehingga proses penghitungan data dapat berlangsung kontinyu hanya dengan
> sekali running macro dan baru akan berhenti setelah menghitung data yg
> paling bawah.**
>
> **
>
> Perintah yg saya gunakan adalah sbb:
>
> **
>
> ** **
>
> Sub sum()****
>
> ' sum****
>
> ' penjumlahan biasa****
>
> Do****
>
> If IsEmpty(ActiveCell) Then****
>
> If IsEmpty(ActiveCell.Offset(0, -1)) And
> IsEmpty(ActiveCell.Offset(0, -2)) Then****
>
> ActiveCell.Value = ""****
>
> Else****
>
> ActiveCell.FormulaR1C1 = "=sum(RC[-1],RC[-2])"****
>
> End If****
>
> End If****
>
> ActiveCell.Offset(1, 0).Select****
>
> Loop Until *IsEmpty(ActiveCell.Offset(-1, -1))*****
>
> End Sub****
>
> ** **
>
> Kasus lengkapnya mohon disimak file terlampir. Thanks berat.****
>
> Note: Ini postingan ke-2 (dgn sedikit edit) karena postingan yg pertama
> sepertinya tidak sampai dengan slamet.
>
> **
>
> Salam,
>
> **
>
> ND****
>
>