Terima kasih Mr Kid.
Oh, jadi untuk melakukan fungsi "Evaluate" sel nya harus diselect dulu 
sedangkan formula bisa langsung..

Salam,
Hendrik Karnadi


________________________________
 From: Kid Mr. <[email protected]>
To: [email protected] 
Sent: Monday, 10 September 2012, 11:36
Subject: Re: Fw: [belajar-excel] Makro Sisip Baris
 

  
ops 
lupa belum di select
application.referencestyle=xlr1c1
.range("b4")..Offset(rnghasil.Rows.Count, 2).select

.range("b4")..Offset(rnghasil.Rows.Count, 2).value= Evaluate("=Sum(R[-1]C:R5C)")
application.referencestyle=xla1
Kid.


2012/9/10 hendrik karnadi <[email protected]>

 
>  
>Mr. Kid,
>
>
>Setelah saya coba, hasilnya memang sdh berupa angka, tapiangkanya 1 bukan 37.
>
>
>Mohon pencerahannya, terima kasih.
>
>
>Salam,
>Hendrik Karnadi
>
>
>
>________________________________
>
>From: Kid Mr. <[email protected]>
>To: [email protected] 
>Sent: Monday, 10 September 2012, 10:53
>Subject: Re: Fw: [belajar-excel] Makro Sisip Baris
> 
>
>
>  
>Coba :
>application.referencestyle=xlr1c1
>.range("b4")..Offset(rnghasil.Rows.Count, 2).value= 
>Evaluate("=Sum(R[-1]C:R5C)")
>application.referencestyle=xla1
>
>Wassalam,
>Kid.
>
>
>2012/9/10 hendrik karnadi <[email protected]>
>
> 
>>  
>>Boleh ikutan Mr Kid ?
>>
>>
>>Saya coba alternatif 3, dengan menambahkan kode seperti ini"
>>.Range("b4").Offset(rnghasil.Rows.Count, 2).FormulaR1C1 = 
>>Evaluate("=Sum(R[-1]C:R5C)")
>>
>>hasilnya #VALUE! tetapi kalau Evaluate dan () dihilangkan (kembali ke 
>>alternatif1) maka hasilnya OK (37).
>>
>>
>>
>>Yang ingin saya tanyakan bagaimana penulisan Evaluate yang benar.
>>
>>
>>Terima kasih.
>>
>>
>>Salam,
>>Hendrik Karnadi 
>>
>>
>>
>>
>>----- Forwarded Message -----
>>From: Kid Mr. <[email protected]>
>>To: [email protected] 
>>Sent: Monday, 10 September 2012, 8:29
>>Subject: Re: [belajar-excel] Makro Sisip Baris
>> 
>>
>>  
>>Sama-sama.
>>
>>Tentang baris yang berupa hasil jumlah.
>>Bukankah kira-kira bunyi bahasa manusianya secara eksplisit sebagai berikut :
>>"Pada sebuah cell pada sebuah baris baru dibawah record terakhir tabel hasil 
>>di kolom nilai,
>>diisi dengan :"
>>
>>(Bisa pilih satu dari beberapa cara berikut)
>>1. A. formula dengan style R1C1 yang berbunyi Sum dari row (R) sebanyak 
>>jumlah record hasil di atasnya [- jumlah record hasil] pada column tersebut 
>>(C).
>>    B. Kemudian lakukan kalkulasi dan di-values-kan.
>>
>>2. A. formula dengan style A1 yang berbunyi Sum dari cell kolom tertentu yang 
>>pasti mulai baris pertama hasil yang juga sudah pasti (alamat cell pertama) 
>>sampai dengan (:) cell pada kolom tertentu yang sama pada baris tepat 1 baris 
>>sebelum baris diletakkannya hasil sum. 
>>    B. Kemudian lakukan kalkulasi dan di-values-kan.
>>
>>3. nilai hasil evaluasi (Evaluate) ekspresi kalimat formula yang dijelaskan 
>>di nomor 1A
>>4. nilai hasil evaluasi (Evaluate) ekspresi kalimat formula yang dijelaskan 
>>di nomor 2A
>>
>>5. hasil kalkulasi fungsi woorksheet (WorksheetFunction) yang bernama Sum, 
>>pada range kolom nilai di record pertamanya yang luasnya diubah menjadi 
>>(Resize) setinggi jumlah record hasil dan selebar 1 kolom saja.
>>
>>Kira-kira bunyi kode VBA-nya bagaimana ya...
>>
>>Wassalam,
>>Kid.
>>
>>
>>
>>2012/9/9 <[email protected]>
>>
>> 
>>>  
>>>Terima kasih pak mrkid oleh2 pivottable-nya, akan saya pelajari perlahan.
>>>
>>>Btw ttg syntax 12 step tadi, msh ada yg blm bisa saya lengkapi, yaitu 
>>>membuat jumlah di bawah baris terakhir.  Mohon dibantu trm ksh..
>>>Powered by Telkomsel BlackBerry®
>>>________________________________
>>>
>>>2012/9/9 Imam Sinurat <[email protected]>
>>>
>>>  
>>>>Yth. Pak Mr Kid dan rekan2
>>>>
>>>>
>>>>Krn masih awam sekali, hampir 15 jam saya kerjakan ini, mengikuti step-step 
>>>>(istilah kerennya 'algoritma manual' bukan?) yg pak MrKid ajarkan dan 
>>>>melihat contoh makro pada thread 'Makro Filter Sort Data Tak Unik'.
>>>>Mohon bpk evaluasi apakah mmg caranya sudah benar atau cuma faktor 
>>>>kebetulan saja hasilnya benar :)
>>>>
>>>>Juga mohon direvisi sintaxnya yang masih kurang efisien.
>>>>
>>>>
>>>>Option Explicit
>>>>Public Sub sisipdata(Optional bvalue As Boolean = False)
>>>>Dim rngdata As Range, rnghasil As Range
>>>>Dim lrecdata As Long, lrechasil As Long
>>>>
>>>>'0. ke VBE (tekan ALT F11) dan buat sebuah module (bonus :: caranya ->  ke 
>>>>menu Insert -> pilih Module)
>>>>
>>>>    'RangeData
>>>>        Set rngdata =
 Sheet1.Range("b3").CurrentRegion
>>>>        
>>>>    'beri nama range untuk data tanpa header
>>>>        rngdata.Offset(1).Resize(rngdata.Rows.Count - 1).Name = "myData"
>>>>    
>>>>With Sheet2
>>>>    
>>>>'1. Hapus hasil yang lama. Pakai delete xlshiftup juga bisa
>>>>        .Range("b4").CurrentRegion.Offset(1).Delete xlShiftUp
>>>> 
>>>>'2. Copy data dari no sampai nominal1 ke hasil mulai baris pertama
>>>>        rngdata.Offset(1).Resize(rngdata.Rows.Count - 1, 
>>>>rngdata.Columns.Count - 1).Copy
>>>>        .Range("b5").PasteSpecial xlPasteValues
>>>>        Application.CutCopyMode = False
>>>>      
>>>>'3. hitung jumlah record + header di hasil dan simpan disebuah
 variabel
>>>>        lrecdata = rngdata.Rows.Count - 1
>>>>
>>>>End With
>>>>
>>>>'4. hide kolom nominal1 di data
>>>>
>>>>With Sheet1
>>>>        .Columns("D:D").EntireColumn.Hidden = True
>>>>   
>>>>     
>>>>'5. autofilter data pada kolom nominal2 yang tidak blank ("<>")
>>>>        rngdata.AutoFilter Field:=4, Criteria1:="<>"
>>>>        
>>>>'6. data yang visible (gunakan specialcells visible) di copy dan paste ke 
>>>>hasil dengan offset sebanyak variabel jumlah record (proses 3)
>>>>        
>>>>rngdata.Offset(1).Resize(lrecdata).SpecialCells(xlCellTypeVisible).Copy
>>>>        Sheet2.Range("b4").Offset(lrecdata + 1).PasteSpecial xlPasteValues
>>>>        
>>>>       'hilangkan garis2 copiedrange dan autofilter serta tampilkan kembali 
>>>>kolom D
>>>>        Application.CutCopyMode = False
>>>>        rngdata.AutoFilter
>>>>        .Columns("D:D").EntireColumn.Hidden = False
>>>>        
>>>>End With
>>>>    
>>>>'7. hapus data nama di sheet hasil hanya pada hasil paste terakhir (hasil 
>>>>proses 6)
>>>>
>>>>        Set rnghasil = Sheet2.Range("b4").CurrentRegion
>>>>        lrechasil = rnghasil.Rows.Count - 1
>>>>
>>>>With Sheet2
>>>>        .Range("b4").CurrentRegion.Offset(lrecdata + 1, 1).Resize(lrechasil 
>>>>- lrecdata, 1).ClearContents
>>>>
>>>>'8. sort hasil berdasar kolom No secara menaik
>>>>       
 rnghasil.CurrentRegion.Sort .Range("b4"), xlAscending, Header:=xlYes
>>>>
>>>>'9. hasil yang blank (gunakan specialcells celltypeblank) diisi formula 
>>>>style R1C1 berbunyi : "=R[-1]C & ""(*)"""
>>>>        rnghasil.Offset(1, 1).Resize(lrechasil, 
>>>>1).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C&""(*)"""
>>>>
>>>>        
>>>>'10. hasil (seluruh baris ya) di kolom No diberi formulaR1C1 : 
>>>>"=n(R[-1]C)+1"
>>>>        rnghasil.Offset(1).Resize(lrechasil, 1).FormulaR1C1 = "=N(R[-1]C)+1"
>>>> 
>>>>'11. kalkulasi sheet hasil
>>>>        Sheet2.Calculate
>>>>        
>>>>'12. copy paste special values area hasil
>>>>        rnghasil.CurrentRegion.Copy
>>>>        Sheet2.Range("b4").PasteSpecial
 xlPasteValues
>>>>        Application.CutCopyMode = False
>>>>        
>>>>End With
>>>>End Sub
>>>>
>>>>
>>>>
>>>>Terima kasih sebelumnya, Wassalam
>>>>Sinurat
>>>>
>>>>
>>>>________________________________
>>>> Dari: Kid Mr. <[email protected]>
>>>>Kepada: [email protected] 
>>>>Dikirim: Kamis, 6 September 2012 13:00
>>>>Judul: Re: [belajar-excel] Makro Sisip Baris
>>>> 
>>>>
>>>>
>>>>Bagi yang masih bingung caranya, silakan posting dengan judul thread :
>>>>VBA xx. nama prosesnya
>>>>Contoh :
>>>>bingung cara nomor 5, buat thread baru (posting email baru ke milis) dengan 
>>>>subject :
>>>>VBA 05. Autofilter data kolom nominal2
>>>>
>>>>Jadi, seluruh proses diharapkan tetap menggunakan data dari Pak Imam dulu, 
>>>>supaya sama dan seragam. 
>>>>Harapannya bisa mempermudah proses belajar bersama.
>>>>
>>>>Selamat mencoba dan tetap semangat belajar.
>>>>
>>>>Wassalam,
>>>>Kid.
>>>>
>>>
>>
>>
>>
>
>
>

 

Kirim email ke