Tecnologia, programação e muito Visual FoxPro.

terça-feira, 21 de dezembro de 2010

Re: ]] XL-mania [[ Error Macro Sumproduct

 

Dear pak Haryanto,

tampak di code tersebut, anda menggunakan WorksheetFunction.SumProduct pada sumproduct yang di dalamnya terdapat Boolean Array

WorksheetFunction.SumProduct tidak bisa digunakan jika terdapat Boolean Array di dalamnya, (TRUE FALSE)
sebagai contoh sederhana:

Sub WorksheetFunction_Sumproduct_Boolean_Array()
    x = WorksheetFunction.SumProduct((Range("A2:A6") = 3), Range("B2:B6"))
    Range("E2").Value = x
End Sub

Sub routine di atas tidak berhasil,

sehingga sebagai alternatif kita menggunakan bantuan Evaluate.

Sub Evaluate_Sumproduct()
    x = evaluate("=SumProduct((A2:A6=3)*(B2:B6))")
    Range("F2").Value = x
End Sub


Selain itu, penggunaan Sumproduct melalui VBA dapat juga dilakukan dengan menuliskannya ke dalam cell,,

Sub Formula_Sumproduct()
    Range("G2").Formula = "=SumProduct((A2:A6)*(B2:B6))"
End Sub

Sub Formula_Sumproduct_Boolean_Array()
    Range("H2").Formula = "=SumProduct((A2:A6=3)*(B2:B6))"
End Sub

Sebagai variasi, berikut ini contoh lainnya:

Sub Sumproduct_Resize_Offset()
    Dim x As Range, y As Range
    Set x = Range("A1").Offset(1, 0).Resize(5)
    Set y = Range("A1").Offset(1, 1).Resize(5)
    Range("I2").Formula = "=SumProduct((" & x.Address & "=3)*(" & y.Address & "))"
End Sub

Sub Evaluate_Sumproduct_Resize_Offset()
    Dim x As Range, y As Range
    Set x = Range("A1").Offset(1, 0).Resize(5)
    Set y = Range("A1").Offset(1, 1).Resize(5)
    Range("J2").Value = evaluate("=SumProduct((" & x.Address & "=3)*(" & y.Address & "))")
End Sub


File terlampir


>semoga bermanfaat



From: uharyanto <uharyanto@gmail.com>
To: XL-mania@yahoogroups.com
Sent: Tue, December 21, 2010 10:12:46 AM
Subject: ]] XL-mania [[ Error Macro Sumproduct

 

Dear master2 excel,,,

Saya mencoba menbuat code macro untuk merekap hasil dari sheet lain
akan tetapi setiap saya jalankan selalu error ("type mismatch"), saya
telah coba berulang - ulang tapi tetap saja gagal.

Sub Rekap()
Dim HslD, HslC As Range
Dim A, B, C, D, E, F As Range

Set HslD = Sheets("REKAP").Range("A3").CurrentRegion
Set HslD = HslD.Offset(2, 1).Resize(HslD.Rows.Count - 3, 1)
Set HslC = HslD.Offset(0, 1)
Set A = HslD.Offset(0, -1)
Set C = Range("B2")
Set E = Range("C2")

Sheets("DB").Select
Set B = Sheets("DB").Range("A2").CurrentRegion
Set B = B.Offset(1, 0).Resize(B.Rows.Count - 1, 1)
Set D = B.Offset(0, 1)
Set F = B.Offset(0, 2)

Sheets("REKAP").Select
HslD.Value = WorksheetFunction.SumProduct((A = B) * (C = D) * (F))
End Sub

Kiranya para rekan dapat memberi saran dan masukkan, apa penyebab dan
apa yang harus saya lakukan supaya code tersebut bisa berjalan dengan
baik.

--
Kind Regard
Ujank Haryanto


__._,_.___
Recent Activity:
+-:: XL-mania ::::::::::::::::::::----------------------------------+
| sOrRy dOrRy j3K... m0m0dS LaGi HeC-tiC... waQaQaQa...             |
| http://www.facebook.com/group.php?gid=37671048001&ref=mf          |
+-------------------------------------------------------------------+
| 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              |
+-------------------------------------------------------------------+
.

__,_._,___

Nenhum comentário:

Arquivo do blog