Pak Jan.
Masih belum bisa ?
Yang berwarna biru.
Option Explicit
Sub coba_function()
Dim Sum_T As Range
Dim Sum_J As Range
Dim Sum_N As Range
Set Sum_T = Range("F2:F34")
Set Sum_J = Range("G1:L1")
Set Sum_N = Range("G2:L34")
Range("R3").Formula = "=I2+I3"
Range("R4").Formula = "=SUM(I2:I34)"
Range("R15").Formula = "=SUMPRODUCT((F2:F34=N16)*(G1:L1=O16)*(G2:L34))"
Range("R16").Formula =
"=INDEX($G$2:$M$34,MATCH($N$16,$F$2:$F$34,0),MATCH($O$16,$G$1:$M$1,0))"
Range("R17").Formula =
"=VLOOKUP($N$16,$F$2:$L$34,MATCH($O$16,$F$1:$L$1,0),FALSE)"
Range("U3").Value = Evaluate("=I2+I3")
Range("U4").Value = Evaluate("=SUM(I2:I34)")
Range("U15").Value =
Evaluate("=SUMPRODUCT((F2:F34=N16)*(G1:L1=O16)*(G2:L34))")
Range("U16").Value =
Evaluate("=INDEX($G$2:$M$34,MATCH($N$16,$F$2:$F$34,0),MATCH($O$16,$G$1:$M$1,0))")
Range("U17").Value =
Evaluate("=VLOOKUP($N$16,$F$2:$L$34,MATCH($O$16,$F$1:$L$1,0),FALSE)")
Range("S4") = Application.WorksheetFunction.Sum(Range(Range("I2"),
Range("I34")))
Range("T4") = Application.WorksheetFunction.Sum(Sum_N)
'Range("S15") =
Application.WorksheetFunction.SumProduct((Range(Range("F2"), Range("F34"))
= Range("N16")) * (Range(Range("G1"), Range("L1")) = Range("O16")) *
Range(Range("G2"), Range("L34")))
'Range("T15") = Application.WorksheetFunction.SumProduct((Sum_T =
Range("N16")) * (Sum_J = Range("O16")) * (Sum_N))
'Range("U15") = Application.WorksheetFunction.SumProduct((Range(Sum_T) =
Range("N16")) * (Range(Sum_J) = Range("O16")) * (Range(Sum_N)))
'Range("S16") = Application.WorksheetFunction.Index(Range(Range("G2"),
Range("L34")), 17, 3, 0)
'Range("T16") = Application.WorksheetFunction.Index(
'Range("U16") = Application.WorksheetFunction.Index(
'Range("S17") = Application.WorksheetFunction.VLookup(Range("N16"),
(Range(Range("F2"), Range("F34"))), 4, False)
'Range("T17") = Application.WorksheetFunction.VLookup(Range("N16"),
(Sum_T), 4, False)
'Range("U17") = Application.WorksheetFunction.VLookup(Range("N16"),
Range(Sum_T), 4, False)
Range("S18") = Application.WorksheetFunction.Match(Range("N16"),
Range(Range("F2"), Range("F34")), 0)
Range("T18") = Application.WorksheetFunction.Match(Range("O16"),
Range(Range("G1"), Range("L1")), 0)
End Sub
Salam
Lukman
2012/11/19 Jan Raisin <[email protected]>
> **
>
>
> Dear BeExceler,
>
> cara penulisan formula dari worksheet ke VBA dapat dilakukan dengan
> cara-cara seperti berikut:
>
> 1. Menggunakan fungsi Evaluate
> contoh: Cells(1,1).value = Evaluate("
> =ini_formula_panjang_dari_worksheet_yang_dipindah_ke_VBA")
> perhatikan cara penulisannya
> a. formula dari worksheet diapit dengan tanda buka_kurung dan kutip_dua,
> lalu ditutup dengan tanda kutip_dua dan tutup_kurung
> b. formula dari worksheet ditulis mulai dari tanda sama_dengan sampai
> akhir
> c. semua tanda pemisah harus menggunakan koma, jika awalnya formula di
> tulis di worksheet dengan menggunakan tanda titik_koma sebagai pemisah
> antara satu bagian dengan bagian yang lain (asumsi regional setting adalah
> Indonesia) dan dapat berjalan dengan baik di worksheet, maka jika tanda
> pemisah tidak diganti dari titik_koma menjadi koma maka akan muncul error.
>
> 2. Memanfaatkan fungsi Application.WorkSheetFunction.nama_fungsinya
> catatan: Tidak semua fungsi dari worksheet dapat digunakan di dalam
> VBA, untuk mengetahui fungsi-fungsi yang dapat dipanggil bisa dengan cara
> menulis tanda titik setelah syntax Application.WorksheetsFunction
> untuk dapat menggunakan cara yang kedua ini, anda harus mengetahui
> terlebih dahulu bagaimana cara menunjuk suatu cell dan suatu area (range)
> di dalam workheet
> Berikut adalah beberapa cara menunjuk suatu cell dan suatu area di
> dalam worksheet
> a. menunjuk cell menggunakan fungsi Cells
> syntax-nya adalah Cells(nomer_baris , nomer_kolom)
> contoh: Cells( 2, 3) artinya adalah menunjuk kepada cell di baris
> 2 dan kolom 3 atau disebut cell C3
> cara tersebut hanya berlaku untuk menunjuk pada cell yang tereletak
> pada workbook yang aktif dan worksheet yang aktif
> jika cell yang ingin ditunjuk terletak pada workbook lain dan/atau
> wroksheet lain maka cara menunjuknya selalu melalui hierarki yang lebih
> tinggi
> contoh: Workbooks("DataPenjualan2012").WorkSheets("Database").Cells(2
> , 3)
> b. Menunjuk cell dan range menggunakan fungsi Range
> 1). Menunjuk sebuah cell
> contoh: Range("A2") artinya menunjuk kepada sebuah cell yang
> bernama cell A2
> 2). Menunjuk beberapa buah cell yang berhimpitan
> contoh: Range("A2:C3") artinya menunjuk kepada beberapa buah
> cell mulai dari A2 sampai C3, berarti yang ditunjuka adalah cell A2, A3,
> B2, B3, C2, dan C3
> 3). Menunjuk beberapa cell yang tidak berhimpitan
> contoh: Range("A2, C3, E5") artinya menunjuk kepada cell A2,
> C3, dan E5 yang letaknya tidak saling berhimpit
> 4). Menunjuk sebuah kolom
> contoh: Range ("A:A") artinya menunjuk seluruh cell di dalam
> kolom A
> 5). Menunjuk beberapa kolom yang saling berhimpit
> contoh: Range ("A:E") artinya menunjuk seluruh cell mulai
> dari kolom A sampai E
> 6). Menunjuk beberapa kolom yang tidak saling berhimpit
> contoh: Range("A:A, C:C, E:E") artinya menunjuk seluruh cell
> di dalam kolom A, kolom C, dan kolom E
> selain dengan menunjuk langsung alamat cell atau range,
> penunjukan juga bisa dilakukan dengan memberi nama kepada range yang akan
> dilipih
> contoh:
> Option Explicit
> Sub Tes()
> Dim Pilihan As Range
> Set Pilihan = Range("A:A, C:C, E:E")
> Pilihan.Select
> End Sub
> 7). Menunjuk suatu area / range dengan syntax baku dari fungsi Range
> syntax dari Range adalah Range(alamat_cell_awal ,
> alamat_cell_akhir)
> contoh: Range(Range("A1") , Range("E5"))
> atau
> Range(Cells(1,1) , Cells(5,5))
> kedua script di atas akan menunjuk kepada suatu range mulai
> dari cell A1 sampai dengan cell E5
>
> Setelah sedikit dongeng dari Jan, sekarang Jan akan bertanya ke pak
> Lukman, menurut pak Lukman mana yang lebih pas untuk formula yang akan
> digunakan oleh pak Lukman?
>
> silakan dicoba dahulu, jika ada kesulitan bisa dishare lagi ke sini
>
> Best Regard,
>
> Miss Jan Raisin
>
>
> 2012/11/17 lkm jktind <[email protected]>
>
>> **
>>
>>
>> Bagaimana cara penulisannya di macro excel :
>> dengan contoh di bawah ini :
>>
>> Sumproduct(("$A$2:$A$36000"=$A25)*(("$D$1:$AB$1=F$)*($D$2:$AB$36000)
>> Index($D$2:$AB$36000;match("$A$2:$A$36000";$A25); match("$D$1:$AB$1;F$))
>> Hloopup= (F$1;$D$1:$D$3600;Match($A$1:$A$3600;$A25);0)
>>
>>
>> Cells(r,5) = application.worksheetfunction.sumproduct(
>> Cells(r,6) = application.worksheetfunction.Index(
>> Cells(r,7) = application.worksheetfunction.Hlookup(
>>
>>
>>
>> Salam
>>
>>
>> Lukman.
>>
>>
>>
>> nb : maaf nga begitu bisa bahasa inggris.
>>
>>
>
>