Tecnologia, programação e muito Visual FoxPro.

quinta-feira, 25 de agosto de 2011

Re: ]] XL-mania [[ Loop yg berulang

 

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 <novan.dwiascahyo@leighton.co.id>

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


__._,_.___
Recent Activity:
+-:: XL-mania ::::::::::::::::::::----------------------------------+
| tiap tanggal gajian, order buku "mengapa boss benci chart anda    |
| membludak :) ayo2 pesan yang belum punya....                      |
| btw... selamat menunaikan ibadah puasa ya...                      |
| www.facebook.com/pages/XL-mania/104233892978057                   |
+-------------------------------------------------------------------+
| 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 good Credit Score is 720, find yours & what impacts it at freecreditscore.com.
.

__,_._,___

Nenhum comentário:

Arquivo do blog