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

