Wa'alaikumussalam Wr. Wb.
Kalau saya, (gak tahu yang lainnya...)
jika ingin memasang formula pada suatu range (misal 12 baris x 8 kolom),
langkahnya :
Contoh : formula akan dipasang di cell C13:J24
1. buat formula tersebut di cell pertama dari area yang akan diberi formula
>> cell pertama di C13
>> cell C13 diberi formula, misal formula saya adalah =a1+2
>> tekan Enter
2. coba copy formula ke seluruh area, dan pastikan formula menghasilkan nilai
yang tepat.
>> cell C13 di klik lalu tekan CTRL C
>> blok range C13:J24 lalu tekan CTRL V
>> periksa hasil formula di C13:J24
>> oh ternyata sudah OK. (jika belum, ulangi dari nomor 1)
3. setelah pasti formula di cell pertama tadi tepat jika di copy ke cell
lain, maka copy bunyi formula
>> cell C13 di edit (tekan F2)
>> blok seluruh teks formulanya
>> klik kanan pilih Copy
4. ke VBE untuk buat prosedur pemasang formula
>> tekan ALT F11
>> menu Insert -> pilih Module
>> di lembar kanan, mulai tulis blok prosedurnya, misal akan diberi nama
PasangFormula, maka bunyi bloknya :
Public Sub PasangFormula()
'prosesnya nanti disini loh
End Sub
5. paste formula hasil copy tadi ke sebelah kanan tulisan 'prosesnya nanti
disini loh sehingga bentuknya menjadi :
Public Sub PasangFormula()
'prosesnya nanti disini loh =A1+2
End Sub
6. mulai susun isi proses persis dibawah tulisan 'proses blabla dan sebelum
baris End Sub
Public Sub PasangFormula()
'prosesnya nanti disini loh =A1+2
Sheets("nama sheetku").range("c13:j24").formula = "=A1+2"
Sheets("nama sheetku").calculate 'supaya worksheet dikalkulasi
(antisipasi setting calculation sedang manual)
End Sub
7. saya pengen hasilnya tidak berwujud formula, tapi hanya nilainya saja,
supaya Excel gak berat kalkulasinya
>> langkah ini, sifatnya optional [bila perlu saja]
>> jadi harus ada tambahan proses untuk mem-values-kan hasil formula
>> kalau langkah manual di worksheet, biasanya tangan user akan melakukan
Copy Paste Special Values
>> dengan pemrograman, bahasanya :
Sheets("nama sheetku").range("c13:j24").value=Sheets("nama
sheetku").range("c13:j24").value
atau
Sheets("nama sheetku").range("c13:j24").copy
Sheets("nama sheetku").range("c13").pastespecial xlpastevalues
tinggal pilih cara yang mana (biru atau hijau)
>> saya pilih yang hijau saja deh
>> maka setelah proses nomor 6, ditambahkan lagi proses copy values ini,
menjadi :
Public Sub PasangFormula()
'prosesnya nanti disini loh =A1+2
Sheets("nama sheetku").range("c13:j24").formula = "=A1+2"
Sheets("nama sheetku").calculate 'supaya worksheet dikalkulasi
(antisipasi setting calculation sedang manual)
'mau mem-values-kan hasil formula
Sheets("nama sheetku").range("c13:j24").copy
Sheets("nama sheetku").range("c13").pastespecial xlpastevalues
End Sub
8. sekarang, diingat-ingat nama prosedurnya (yang merah) dan kembali ke
worksheet dengan menekan ALT F11
9. simpan file dengan ekstensi .xlsm atau .xlsb atau .xls, caranya :
>> tekan ALT F A
>> beri nama file dengan nama yang baru (misal myVBA)
>> lihat Save as type
>> pilih .xlsm atau .xlsb atau .xls
>> tekan tombol Save
10. coba jalankan prosedur (sering disebut jalankan Macro)
>> tekan ALT F8
>> muncul dialog, pilih nama prosedurnya (yang merah kan ya, yang bunyinya
PasangFormula)
>> tekan tombol Run
11. Capek dong kalau tiap kali ubah nilai data harus jalankan prosedur.
Salah satu caranya adalah dengan tombol, yang gampang
>> insert sebuah shape (di Excel 2007 : ribbon Insert -> Shapes -> pilih
Rectangle -> gambar kotak di worksheet)
>> klik kanan si shape yang ada di worksheet -> pilih Assign Macro -> pilih
nama prosedurnya (yang merah lagi kan) -> tekan OK
>> klik sebuah cell (misal klik cell F7)
>> klik si shape
12. terus belajar lagi tentang worksheet event, kalau sudah lanyah
(terbiasa) membuat seperti yang di atas.
>> browsing sana sini jadi tambah pinter dan pengen coba hal lain
Wassalam,
Kid.
formula
2012/10/23 Titis Ardiyana Wulandari <[email protected]>
> **
>
>
>
> Assalamu'alaikum
>
> Teman-teman,
> minta penjelasan rumus macro ketika sumproduct di masukan kerumus macro,
> bagaimana rumusnya?
>
> Terimakasih
>
> _
>