Pada prosedur :
Private Sub cmdJml2_Click()
Dim xFormula, xFormula2, xFormula3, xFormula4 As Integer
xFormula = RC & Cells(5, 5).Column
xFormula2 = RC & Cells(5, 8).Column
xFormula3 = RC & Cells(5, 5).Row
xFormula4 = RC & Cells(5, 8).Row
Cells(5, 11).FormulaR1C1 = "=Sum(R" & xFormula3 & "C" & xFormula: R" &
xFormula4 & "C " & xFormula2)"
End Sub
1. deklarasi berbunyi :
Dim xFormula, xFormula2, xFormula3, xFormula4 As Integer
menghasilkan variabel :
xFormula, xFormula2, xFormula3 memiliki tipe data *Variant*
xFormula4 memiliki tipe data *Integer*
jika ingin semua variabel memiliki tipe data Integer, deklarasikan
dengan :
Dim xFormula *as integer* , xFormula2 *as integer*, xFormula3 *as
integer* , xFormula4 As Integer
2. variabel bernama RC dalam baris-baris :
xFormula = RC & Cells(5, 5).Column
xFormula2 = RC & Cells(5, 8).Column
xFormula3 = RC & Cells(5, 5).Row
xFormula4 = RC & Cells(5, 8).Row
memiliki tipe data variant dan tidak ada isinya (empty)
karena seluruh variabel xFormula sudah dideklarasikan dengan cara baru
di nomor 1 pasti memiliki tipe data Integer,
maka pengisian nilai variabel xFormula adalah :
xFormula = Cells(5, 5).Column
xFormula2 = Cells(5, 8).Column
xFormula3 = Cells(5, 5).Row
xFormula4 = Cells(5, 8).Row
3. kesalahan penulisan data string yang akan dimasukkan dalam properti
bernama Formula milik suatu cell di baris script :
Cells(5, 11).FormulaR1C1 = "=Sum(R" & xFormula3 & "C" & xFormula: R" &
xFormula4 & "C " & xFormula2)"
dimana :
Cells(5, 11).FormulaR1C1 adalah benda disisi kiri tanda sama dengan
(=) yang berarti akan diisi sesuatu.
dan bunyi :
"=Sum(R" & xFormula3 & "C" & xFormula: R" & xFormula4 & "C " &
xFormula2)"
terletak di sisi kanan sama dengan (=)
yang berarti sebagai nilai data yang akan dimasukkan (disimpan) dalam
wadah disisi kiri sama dengan (=)
dan bagian ini salah dalam penulisannya.
misal bunyi formula di dalam cell (jika Anda tulis di worksheet pada sebuah
cell) berbunyi :
*=SUM(R5C5:R5C8)*
maka tahap paling mudah dalam menuangkannya dibaris pengisian formula dalam
VBA adalah :
1. tulis barisnya dengan formula yang apa adanya lebih dulu : (perhatikan
perbedaan warnanya)
Cells(5, 11).FormulaR1C1 = *=SUM(R5C5:R5C8)*
2. karena bunyi formula apa adanya harus dimasukkan kedalam suatu wadah
sebagai nilai data string (teks), maka perlu diapit petik dua (") :
Cells(5, 11).FormulaR1C1 = *"=SUM(R5C5:R5C8)"*
3. *setiap angka *dibelakang R atau dibelakang C akan diganti dengan suatu
variabel, maka data string berbunyi *"=SUM(R5C5:R5C8)"*
harus dipisah-pisah, sehingga setiap angka memiliki jarak dari yang
bukan angka, menjadi :
Cells(5, 11).FormulaR1C1 = *"=SUM(R 5 C 5 :R 5 C 8 )"*
4. Setiap *sebelum* sebuah angka diberi notasi *petik dua* diikuti *spasi*lalu
*ampersand* diakhiri *spasi* [ " & ] dengan petik dua rapat ke teks
dikiri angka menjadi :
Cells(5, 11).FormulaR1C1 = *"=SUM(R**" & 5 C**" & 5 :R**" &
5 C**" & 8 )"*
5. Setiap *sesudah* sebuah angka diberi notasi *spasi *diikuti *ampersand *lalu
*spasi *diakhiri *petik dua* [ & " ] dengan petik dua rapat ke teks
dikanan angka menjadi :
Cells(5, 11).FormulaR1C1 =*"=SUM(R**" & 5 ** & "C**" & 5 ** & "
:R**" & 5 ** & "C**" & 8 ** & ")"*
6. Ganti setiap angka dengan nama variabel yang sesuai, misal :
A. angka 5 pertama dari kiri diganti variabel bernama xFormula3
B. angka 5 kedua dari kiri diganti variabel bernama xFormula
C. angka 5 ketiga dari kiri diganti variabel bernama xFormula4
D. angka 8 diganti variabel bernama xFormula2
menjadi : (*sebagai 1 baris utuh*)
Cells(5, 11).FormulaR1C1 =*"=SUM(R**" & xFormula3 & "C**" & xFormula & ":R**"
& xFormula4 & "C**" & xFormula2 & ")"*
7. Didapat hasil akhir berbunyi :
Cells(5, 11).FormulaR1C1 =*"=SUM(R**" & xFormula3 & "C**" & xFormula & ":R**"
& xFormula4 & "C**" & xFormula2 & ")"*
Untuk kasus serupa lainnya dalam topik ini juga demikian.
Wassalam,
Kid.
2013/4/15 <[email protected]>
> **
>
>
>
> Dear BeExceller,
>
> Mau tanya, bagaimana menjumlahkan range tertentu dengan R1C1 style dengan
> parameter yang kita berikan.
>
> Contoh terlampir :
>
>
>
> Terima kasih,
> Wassalam,
> Tio
>
>