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.
>
>  
>

Kirim email ke