Untuk mbak siti, mas kid, mas puthut serta semua yang nggak mungkin aku sebutin satu persatu saya ucapkan terima kasih atas semua jawaban, masukan beserta contoh2 nya, karena atas anda semua aku sekarang mulai tertarik untuk mempelajari VBA. maaf deh kalau aku nggak kirim kabar setelah dikasih jawaban. oh ya mbak contoh jawaban yang mbak siti kirim itu bisa sampai berapa baris, soalnya aku coba buka VBA nya kok dikasih password( jangan ngambek dong mbak, kalau dipassword gitu gimana aku bisa belajar ).bagaimana sih cara ngasih password kayak gitu. dan selain itu aku coba disamping kolom paling akhir aku kasih rumus untuk menjumlah total pembayaran dan vlookup lunas\blm lunas, e eeeh waktu macro dijalankan dengan menekan tombol clear semua rumusnya jadi hilang juga.pusing aku trim's sekali lagi yudha
--- Pada Sen, 12/10/09, siti Vi <setiyowati.d...@gmail.com> menulis: Dari: siti Vi <setiyowati.d...@gmail.com> Judul: Re: [belajar-excel] rumus sumproducts prosesnya berat Kepada: belajar-excel@yahoogroups.com Tanggal: Senin, 12 Oktober, 2009, 7:27 AM kelanjutan kasus ini (sumproduk dgn makro) sebenarnya sudah disiapkan 6 okt 09; hanya tidak dikirim seketika, karena menunggu "reaksi" & comments penanya (yg ternyata sepi sepi saja..., kacian deh "guWe"..) khusus untuk siti; hal spt ini (orang yg menerima solusi dari member lain = diam saja) = sama sekali bukan masalah. tetapi untuk memenuhi nettiquette di kalangan member milis b-e sebaiknya kirim lah sekedar kabar/comments "sudah terima file dari anda". jika masih "bau teknis excel" sampaikan via milis, jika hanya sekedar ucapan "sudah terima file solusi" pakai japri saja.. di milis besar & serius lain, kelaziman spt itu sudah umum.. ------ part of makro----- lengkapnya ada di workbook lampiran--- ' kalang 3 tingkat meniru Sumproduct 'aliran sesat' For R = 1 To dReport.Rows. Count Fakt_Nr = dReport(R, 1) For N = 1 To dHarian.Rows. Count Angs_Nr = dHarian(N, 3) For C = 1 To AngsRng.Columns. Count Step 2 AngsKol = (C + 1) / 2 If dHarian(N, 2) = Fakt_Nr Then If AngsKol = Angs_Nr Then AngsRng(R, C + 0) = dHarian(N, 4) '<<---- =Rp AngsRng(R, C + 0).NumberFormat = "#,##0" AngsRng(R, C + 1) = dHarian(N, 1) '<<---- =Tgl AngsRng(R, C + 1).NumberFormat = "dd-mmm-yy" End If End If Next C Next N Next R End Sub 2009/10/6 siti Vi <setiyowati.devi@ gmail.com> =SUMPRODUCT( ('tagihan harian'!$C$5:$C$2000= $A7)* ('tagihan harian'!$D$5:$D$2000= F$5)* ('tagihan harian'!$E$5:$E$2000) ) di setiap formula tsb terjadi operasi 2 x 1996 pembandingan dan 3 x 1996 perkalian jika di tabel data induk terdapat 16 formula per baris (dan ada 18 baris berformula) maka jumlah operasi dapat anda hitung sendiri. konon, formula berbasis fungsi sumproduct bekerja persis seperti array formula bedanya hanya: "tidak perlu di-enter" dengan Ctrl + Shift + Enter. untuk tabel rujukan yg hanya setinggi 18 rows mas sandra merujuk tabel 1996 rows; ini tentu memperlama proses yg sebenarnya BELUM perlu, karena data yg dirujuk [tabel tagihan harian] saat ini BARU berisi 18 records / BELUM ada 1996 baris. rujukan ke tabel yg akan terus berkembang (tabel transaksional) dapat dibuat dinamis sesuai dimensi tabel tsb; hal ini sudah beberapa kali dicontohkan di milis. insyaallah sebentar lagi akan banyak member yg mengirimkan contohnya (lagi) dengan rujukan dinamis, worksheet tidak perlu bekerja keras sebelum waktunya. walaupun nantinya jika memang tabel menjadi setinggi 1996 baris, toh kinerja worksheet akan sama lambannya seperti yg sudah terjadi saat ini. oiya, baik juga diingat bahwa formula di worksheet akan terus menerus di-refresh (recalculated) setiap kali terjadi perubahan di sheet (anda mengisi 1 titik di sebuah cell, menyebabkan worksheet me-recalculated semua formula di sheet). Proses inilah yg semkin memperburuk kinerja worksheet. Keadaan spt ini dapat di atur (apakah re-calculation akan dilaksanakan otomatis / atau menunggu kemauan kita (user), melalui menu Tools > Options (dialogBox Options) > tab Calculation > Pilih Automatic / Manual. Pilihan Manual akan mempergesit kinerja worksheet, tetapi hasil formula belum tentu betul; formula yg baru ditulis belum menghasilkan data yg sebenarnya. Kita setiap saat dapat me'NYURUH" semua worksheet menjalankan re-calculation dengan tombol [F9] atau [Alt+F9] untuk sheet aktif saja. cara lain (untuk menghasilkan data seperti pada sheet data-induk) adalah dengan makro non UDF. Dengan makro dapat diatur agar hasil yg tertulis di cells berupa data konstanta /bukan rumus. Inilah yg menjadi sebab: data hasil makro tidak membebani worksheet. Makro hanya membebani kinerja komputer hanya ketika dijalankan. Kekurangannya (jika dibanding dgn formula) adalah: hasilnya tidak selalu updated (maksodku: jika data sumber (yg dirujuk/ presedents cells) kita ubah, hasil makro tidak langsung berubah. Untuk mengupdate-nya kita perlu menjalankan makro lagi) Lebih aman saat online. Upgrade ke Internet Explorer 8 baru dan lebih cepat yang dioptimalkan untuk Yahoo! agar Anda merasa lebih aman. Gratis. Dapatkan IE8 di sini! http://downloads.yahoo.com/id/internetexplorer/