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