Acc dengan karakter pertama a adalah sumber data dari LK . yg jumlah row nya tidak sama . sesuai dengan kebutuhan.
selama ini dalam meng input data sekitar 5 ~ 10 menit . per ticker per quater. ini pun terbantu dengan beberapa macam VBA . lagi terpikirkan . untuk di buatkan 1 macam VBA saja . mengacu pada cell aktif --- untuk di ambil ticker nya --- Terima kasih Pak Kid. Salam Lukman 2015-06-13 22:23 GMT+07:00 'Mr. Kid' mr.nm...@gmail.com [belajar-excel] < belajar-excel@yahoogroups.com>: > > > hmmm... > > Jadi untuk memakai select case : tinggal saya ganti saja . dari IF / >> ElseIF --- dengan case. > > > Kira-kiranya demikian, tapi kalau dilihat alur prosesnya, pengubahan > dari IF menjadi select case pada alur proses yang Anda buat tidak akan ada > pengaruhnya terhadap kecepatan proses. Mungkin kalau adapun tidak akan > signifikan. > > tapi, moga-moga dugaan saya tersebut keliru ya... (supaya manteb > nyobanya... dengan mencoba, kemungkinan besar akan dapat banyak hal baru). > > > adapun data yg saya gunakankan dari range A1: paling akhir. dan >> semuanya mengunakan formula index-- >> biar seandai nya bila ada penambahan row atau colum nga akan merubah >> formulanya. dan lebih mudah bikin VBA nya ( lebih mudah di perbaikinya/ >> seragam) > > > hehehehe... pilihan yang bagus... targetnya adalah seluwes mungkin > terhadap perubahan > > kalau ndak kliru duga, kolom A sampai L relatif tetap atau setidaknya > bisa dijaga agar tetap. Alasannya adalah isi kolom-kolom tersebut cenderung > sebagai informasi kunci untuk proses. Terutama kolom A dan C. > > Begitu juga dengan baris 1 sampai 4, walau yang dibutuhkan cenderung > pada baris 1 dan 2 (kayanya loh ya) > > Andai mau mencoba, fungsi vLookUp dengan kolom pertama area lookup > adalah kolom D (yang ada gabungan ticker dengan account), maka bisa > dihitung nomor kolomnya untuk sampai setiap Q yang dibutuhkan (berdasar Q > di baris 1 atau Q di baris tertentu milik masing-masing ticker [kalo ndak > kliru yang kode account aa0 atau aa1 gitu]). Cukup menambahkan suatu nilai > konstan antara kolom bernomor 1 di baris 2 dengan jumlah kolom sampai ke > kolom D nya > > saat ini pun masih mengunakan template : tapi hanya per ticker saja. >> (seandainya copy paste perticker 1 detik hasilnya masih lebih cepat pakai >> VBA >> kalau hanya di hitung per column quater saat ini saja . sekitar 1 menit ) >> jumlah ticker ini selalu bertambah. > > > hmmm... tampaknya memang bisa jadi menggunakan VBA lebih cepat dibanding > dengan formula. > > untuk proses copas-nya bisa dengan VBA kan ya... > > bagaimana jika template-nya per ticker tapi seluruh periode (periode > triwulanan kan ya) ? Dengan asumsi bahwa setiap ticker (berapapun records > yang disediakan oleh si ticker) dibuatkan template yang jumlah record per > ticker selalu tetap (misal 46 record [jumlah semua account -> katanya : > 'semuanya ada 46 macam formula'] lalu VBA mengganti-ganti kode ticker nya, > sehingga formula langsung ambil data sesuai ticker dan kolom quarter-an > langsung hitung. Selesai hitung, copas values ke sheet output yang juga > pasti tetap jumlah record per ticker nya. > > btw, > Kalau dilihat sekilas dari rumusan di kolom i dan juga implementasi > rumusan tersebut dalam script, masih ada potensi yang besar untuk > mempercepat prosesnya. Bisa jadi langkahnya akan diawali dengan menyusun > ulang (dengan bahasa manusia) alur komputasi setiap item account. > > Misalnya, komputasi pertama adalah menetapkan nomor kolom untuk > mendapatkan data setiap q yang dibutuhkan (qtk,qtkq,qtky,qtka -> sepertinya > justru variabel ini yang pokok). Penetapan nilai ini dilakukan setiap kali > ticker berganti (berbeda dengan ticker sebelumnya). Begitu juga dengan > komputasi nilai kurs. Jadi, proses ini tidak dilakukan setiap kali baris > yang diproses berganti (setiap perubahan nilai rc dalam loop per barisnya. > > Tampaknya lagi, ketika kode ticker berganti, andai dilakukan sekalian > komputasi seluruh item account yang dibutuhkan juga akan mempersingkat > waktu proses. > hehehe... > kalau 'hanya di hitung per column quater saat ini saja . sekitar 1 menit', > bisa jadi nanti bisa turun menjadi sekitar 40 detik atau kurang kali ya... > moga-moga sih begitu... > > ;) > > Wassalam, > Kid > > > > > > 2015-06-13 13:27 GMT+10:00 lkm jktind lkmjkt...@gmail.com [belajar-excel] > <belajar-excel@yahoogroups.com>: > >> >> >> Terima kasih Pak Kid. >> >> Jadi untuk memakai select case : tinggal saya ganti saja . dari IF / >> ElseIF --- dengan case. >> >> adapun data yg saya gunakankan dari range A1: paling akhir. dan >> semuanya mengunakan formula index-- >> biar seandai nya bila ada penambahan row atau colum nga akan merubah >> formulanya. dan lebih mudah bikin VBA nya ( lebih mudah di perbaikinya/ >> seragam) >> >> >> saat ini pun masih mengunakan template : tapi hanya per ticker saja. >> (seandainya copy paste perticker 1 detik hasilnya masih lebih cepat pakai >> VBA >> kalau hanya di hitung per column quater saat ini saja . sekitar 1 menit ) >> jumlah ticker ini selalu bertambah. >> >> sumber data jarang di rubah (kecuali ada revisi) >> >> >> Salam >> >> >> Lukman. >> >> >> >> >> >> >> >> 2015-06-12 8:43 GMT+07:00 'Mr. Kid' mr.nm...@gmail.com [belajar-excel] < >> belajar-excel@yahoogroups.com>: >> >>> >>> >>> hmmm... >>> >>> 0. Panjang juga bunyi formula untuk 1 item kode kolom C yang berisi >>> CC301. >>> >>> 1. Kalau melihat text file berisi script yang Anda buat, tampaknya >>> seluruh kolom dikomputasi ulang. >>> > Apakah sumber datanya berubah setiap waktu, sehingga seluruh kolom >>> harus dikomputasi ulang? >>> > Apakah tidak memungkinkan dibuatkan satu template untuk mengkomputasi >>> 1 kolom data quarter (triwulan) terbaru saja, yang hasil komputasi template >>> ini lalu di-copy ke sheet series quarter-an tersebut ? >>> >>> 2. Jika dilihat dari rumusan komputasi di kolom i, ada nilai-nilai kode >>> kolom C yang sudah menjadi bawaan sumber data (kolom i tidak berisi >>> misalnya [bisa jadi ada kriteria lain, but it's ok]) dan ada nilai-nilai >>> kode kolom C yang harus dikomputasi. >>> > Berarti, ada kemungkinan bahwa isi kolom C akan selalu tetap atau >>> setidaknya di-set selalu tetap, walau sumber datanya hanya menyediakan >>> baris-baris nilai yang tidak butuh hitungan saja. Iya gak ? >>> >>> 3. kembali ke contoh formula nomor 0, yang berbunyi : >>> *CC301* : >>> =IF($C51="CC301";IF(AND(ISNUMBER(INDEX($M$1:$AX$48000;MATCH($A51&"be1=";$D$1:$D$48000;0);R$2));INDEX($M$1:$AX$48000;MATCH($A51&"be1=";$D$1:$D$48000;0);R$2)<>0); >>> IF(RIGHT(R$1;2)="Q1";INDEX($M$1:$AX$48000;MATCH($A51&"be1=";$D$1:$D$48000;0);R$2); >>> IF(OR(RIGHT(R$1;2)="Q2";RIGHT(R$1;2)="Q3";RIGHT(R$1;2)="Q4");IF(AND(INDEX($M$1:$AX$48000;MATCH($A51&"be1=";$D$1:$D$48000;0);R$2+1)<>0;ISNUMBER(INDEX($M$1:$AX$48000;MATCH($A51&"be1=";$D$1:$D$48000;0);R$2+1)));INDEX($M$1:$AX$48000;MATCH($A51&"be1=";$D$1:$D$48000;0);R$2)-INDEX($M$1:$AX$48000;MATCH($A51&"be1=";$D$1:$D$48000;0);R$2+1);"")));"");"SalahJalur") >>> >>> > Bisa jadi dengan mengubahnya agar menggunakan vLookUp akan menjadi >>> lebih singkat, contohnya : >>> =IF($C51="CC301";IFERROR(IF(RIGHT(M$1)-1;IF(N(VLOOKUP($A51&"be1=";$D$1:$AX$48000;M$2+9;0))*N(VLOOKUP($A51&"be1=";$D$1:$AX$48000;M$2+10;0));VLOOKUP($A51&"be1=";$D$1:$AX$48000;M$2+9;0)-VLOOKUP($A51&"be1=";$D$1:$AX$48000;M$2+10;0);"");IF( >>> N(VLOOKUP($A51&"be1=";$D$1:$AX$48000;M$2+9;0));VLOOKUP($A51&"be1=";$D$1:$AX$48000;M$2+9;0);""));"");"SalahJalur") >>> >>> [bisa jadi formula lain juga masih ada yang bisa disederhanakan] >>> >>> > Dengan mencoba formulasi di atas yang diterapkan dalam bentuk VBA, >>> bisa jadi akan cukup mempersingkat proses >>> >>> 4. tentang 'kecuali untuk LK th fiscal yg berbeda', jika dikaitkan >>> dengan beberapa baris kode terkait yang ada dalam text file berisi script >>> Anda >>> > Formulasi seperti CC301 di atas yang tadinya berdasar bunyi periode Q >>> di baris 1 [seperti RIGHT(M$1], akan menjadi dipengaruhi bunyi periode Q di >>> baris yang kolom C nya berisi kode berbunyi 'aa0' >>> > Berarti, andaikan ada emiten (kolom A) yang tidak menyediakan data >>> kolom C bernilai 'aa0' akan menggunakan bunyi Q di baris 1. Hal ini >>> mengindikasikan bahwa komputasi CC301 dan sebangsanya yang lain, yang >>> dipengaruhi oleh bunyi Q di 'aa0' akan memiliki nilai qtr,qtQ, qtY, dsb >>> yang berasal dari baris 'aa0'. >>> > Bisa jadi, formula di nomor 3 (termasuk yang di-VBA-ken) cukup >>> disesuaikan untuk bagian cek bunyi Q oleh Right(M1 menjadi >>> =Right( if( kalau ada aa0 di emiten tersebut, ambil bunyi q nya , M1 >>> ) >>> ***ambil dari kanan dari suatu teks di : >>> yang kalau ada kode aa0 di emiten itu, ambil dari baris itu >>> di kolom yang sama (misal di m40) >>> ,kalau tidak ada kode aa0 di emiten itu, ambil dari baris 1 di >>> kolom yang sama (m1) >>> >>> 5. beberapa pengkondisi script yang ada, sebaiknya diperbaiki lagi. >>> Contoh : >>> ada blok pengkondisian IF yang berbunyi : >>> If Len(qtk) = 0 Then >>> 'blablablabla banyak sekali barisnya >>> elseif len(qtk)>0 then >>> 'blublublublu yang juga banyak sekali barisnya, dan ada >>> yang berupa beda penggunaan qtk atau qtka qtkq dsb >>> endif >>> >>> > bisa diubah menjadi seperti : >>> if len(qtk)<>0 then >>> 'blublublublu yang juga banyak sekali barisnya, dan ada >>> yang berupa beda penggunaan qtk atau qtka qtkq dsb >>> else >>> 'blablablabla banyak sekali barisnya >>> end >>> > blok ini menghemat 1 proses perbandingan, yaitu tidak perlu cek >>> Len(qtk) = 0 >>> > proses perbandingan dengan operator <> lebih cepat dibanding operator = >>> >>> 6. Script menunjukkan bahwa proses komputasi selalu dimulai dari kode >>> 'aa0' sampai yang terbawah. Artinya, data memang memiliki urutan kode 'aa0' >>> dst yang tetap. >>> > Berarti, Select Case bisa digunakan >>> > Misal : >>> select case acc >>> case "aa0" >>> script kerjaannya >>> case "ba2=","ba3=","ba6=","be1=","be3=","be5=","bg5=" >>> 'proses universal untuk kode-kode acc diatas >>> Cells(rc, cc).Value = .Index(Dtlk, .Match(Tic & >>> "a" & mid(acc,2) , Vlk, False), cc) * Kurs >>> case dst >>> >>> end select >>> >>> >>> btw, >>> Andai yang diproses bisa 1 kolom per datangnya data baru di quarter baru >>> yang masuk ke sheet input, maka dengan template berupa 1 sheet terpisah >>> lalu hasilnya disalin ke sheet output yang berisi series yang pakai script >>> Anda tersebut, maka seluruh proses bisa jadi lebih cepat. >>> >>> Apalagi kalau mau mulai mengerjakan dengan konsep cara kerja database >>> mengolah data. Excel dengan fitur Get External Data dan susunan tabel yang >>> baik dalam sheet Excel, bisa melakukan hal itu, meskipun ndak punya MS >>> Access, MS SQL Server, Oracle, MySQL dsb sekalipun. Mestinya, dengan fitur >>> get external data, untuk record yang masih sekitar 5 jutaan sih masih bisa >>> sekitar beberapa menit malah bisa beberapa detik saja. >>> >>> Moga-moga ada manfaatnya... >>> >>> Wassalam, >>> Kid >>> >>> >>> >>> >>> >>> >>> 2015-06-11 17:55 GMT+10:00 lkm jktind lkmjkt...@gmail.com >>> [belajar-excel] <belajar-excel@yahoogroups.com>: >>> >>>> >>>> >>>> ini kalau pakai formula biasa : >>>> >>>> *CC301* : >>>> =IF($C51="CC301";IF(AND(ISNUMBER(INDEX($M$1:$AX$48000;MATCH($A51&"be1=";$D$1:$D$48000;0);R$2));INDEX($M$1:$AX$48000;MATCH($A51&"be1=";$D$1:$D$48000;0);R$2)<>0); >>>> IF(RIGHT(R$1;2)="Q1";INDEX($M$1:$AX$48000;MATCH($A51&"be1=";$D$1:$D$48000;0);R$2); >>>> IF(OR(RIGHT(R$1;2)="Q2";RIGHT(R$1;2)="Q3";RIGHT(R$1;2)="Q4");IF(AND(INDEX($M$1:$AX$48000;MATCH($A51&"be1=";$D$1:$D$48000;0);R$2+1)<>0;ISNUMBER(INDEX($M$1:$AX$48000;MATCH($A51&"be1=";$D$1:$D$48000;0);R$2+1)));INDEX($M$1:$AX$48000;MATCH($A51&"be1=";$D$1:$D$48000;0);R$2)-INDEX($M$1:$AX$48000;MATCH($A51&"be1=";$D$1:$D$48000;0);R$2+1);"")));"");"SalahJalur") >>>> >>>> >>>> CC301 = menghitung pendapatan hanya 3 bulan saja . >>>> CC302. CC303, CC304 -- rumus nya mirip -- yg dihitung , laba kotor , >>>> laba usaha, laba bersih hanya 3 bulan saja. >>>> >>>> *CC302* = >>>> =IF($C52="CC302";IF(AND(ISNUMBER(INDEX($M$1:$AX$48000;MATCH($A52&"be3=";$D$1:$D$48000;0);R$2));INDEX($M$1:$AX$48000;MATCH($A52&"be3=";$D$1:$D$48000;0);R$2)<>0);IF(RIGHT(R$1;2)="Q1";INDEX($M$1:$AX$48000;MATCH($A52&"be3=";$D$1:$D$48000;0);R$2);IF(OR(RIGHT(R$1;2)="Q2";RIGHT(R$1;2)="Q3";RIGHT(R$1;2)="Q4");IF(AND(INDEX($M$1:$AX$48000;MATCH($A52&"be3=";$D$1:$D$48000;0);R$2+1)<>0;ISNUMBER(INDEX($M$1:$AX$48000;MATCH($A52&"be3=";$D$1:$D$48000;0);R$2+1)));INDEX($M$1:$AX$48000;MATCH($A52&"be3=";$D$1:$D$48000;0);R$2)-INDEX($M$1:$AX$48000;MATCH($A52&"be3=";$D$1:$D$48000;0);R$2+1);"")));"");"SalahJalur") >>>> >>>> >>>> *CC220* = =IF($C50="CC220";IF( >>>> AND(ISNUMBER(INDEX($M$1:$AX$48000;MATCH($A50&"bg5=";$D$1:$D$48000;0);R$2));ISNUMBER(INDEX($M$1:$AX$48000;MATCH($A50&"bg5=";$D$1:$D$48000;0);R$2+4));ISNUMBER(INDEX($M$1:$AX$48000;MATCH($A50&"bg5=";$D$1:$D$48000;0);MATCH((LEFT(R$1;4)-1)&" >>>> Q4";$M$1:$AX$1;0))));IF(AND(INDEX($M$1:$AX$48000;MATCH($A50&"bg5=";$D$1:$D$48000;0);R$2)<>0;INDEX($M$1:$AX$48000;MATCH($A50&"bg5=";$D$1:$D$48000;0);R$2+4)<>0;INDEX($M$1:$AX$48000;MATCH($A50&"bg5=";$D$1:$D$48000;0);MATCH((LEFT(R$1;4)-1)&" >>>> Q4";$M$1:$AX$1;0))<>0);INDEX($M$1:$AX$48000;MATCH($A50&"bg5=";$D$1:$D$48000;0);R$2)-INDEX($M$1:$AX$48000;MATCH($A50&"bg5=";$D$1:$D$48000;0);R$2+4)+INDEX($M$1:$AX$48000;MATCH($A50&"bg5=";$D$1:$D$48000;0);MATCH((LEFT(R$1;4)-1)&" >>>> Q4";$M$1:$AX$1;0));"");"");"Salah Jalur") >>>> >>>> >>>> diatas 3 macam dari semuanya ada 46 macam formula -- dan bisa di >>>> pakai untuk semua column atau row . >>>> >>>> >>>> kecuali untuk LK th fiscal yg berbeda - >>>> >>>> >>>> >>>> Salam >>>> >>>> Lukman >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> 2015-06-11 14:30 GMT+07:00 lkm jktind <lkmjkt...@gmail.com>: >>>> >>>>> contoh : I56 : be1= - be1=-1Q berapa pendapatan dalam 3 bulan . >>>>> >>>>> Q56 = Q51 Karena kolom Q adalah Q1 >>>>> R56 = Q51 - S51 : kolom R adalah Q4 untuk mendapatkan data >>>>> dari Okt ~ des >>>>> S56 = S51 - T51 : Kolom S adalah Q3 untuk mendapatkan data >>>>> dari Jul ~ sep >>>>> T56 = T51 - U51 : Kolom T adalah Q2 untuk mendapatkan data >>>>> dari april ~ jun >>>>> >>>>> Q51 = adalah pendapat dari jan ~ maret 2015 >>>>> R51 = adalah pendapatan dari jan ~ des 2014 >>>>> S51 = adalah pendapatan dari jan ~ sep 2014 >>>>> T51 = adalah pendapatan dari jan ~ juni 2014 >>>>> >>>>> >>>>> Salam >>>>> >>>>> Lukman >>>>> >>>>> >>>>> 2015-06-11 13:43 GMT+07:00 'Mr. Kid' mr.nm...@gmail.com >>>>> [belajar-excel] <belajar-excel@yahoogroups.com>: >>>>> >>>>>> >>>>>> >>>>>> Jadi, untuk semua rumusan di kolom i, pasti mengambil nilai (yang >>>>>> ditambah kurang bagi dsb) hanya dari 1 kolom saja ? >>>>>> Kalau sedang menghitung q1 tahun 2000 (yang ditambah kurang bagi >>>>>> dsb), apakah hanya pakai data q1 tahun 2000 saja ? >>>>>> Bagaimana dengan menghitung q2,q3,q4 ? >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> 2015-06-11 16:37 GMT+10:00 lkm jktind lkmjkt...@gmail.com >>>>>> [belajar-excel] <belajar-excel@yahoogroups.com>: >>>>>> >>>>>>> >>>>>>> >>>>>>> Jadi kalau ada kolom i yang tidak berisi rumus (alias blank), maka >>>>>>> nilainya tetap apa adanya dari sumber data ? >>>>>>> : Ya >>>>>>> kecuali data dalam USD -- akan di konversikan dalam IDR. >>>>>>> >>>>>>> Apakah semua rumus di kolom i itu pasti mengambil dari kolom yang >>>>>>> sama ? kebanyakan mengunakan column yg sama >>>>>>> >>>>>>> bila masih mengunakan formula di dalam excel : >>>>>>> baris untuk bantu untuk vertical : columns E,F,G,H (match >>>>>>> vertical) >>>>>>> baris untuk bantu untuk horizontal : Row 2. >>>>>>> (match horizontal) >>>>>>> >>>>>>> jadi : = Index (data, match vertical, match horizontal) >>>>>>> >>>>>>> sedangkan untuk tahun fiscal yg berbeda di hitung secara manual . >>>>>>> >>>>>>> Kolom I : ini hanya catatan rumus nya saja . berisi No Acc yg akan >>>>>>> digunakan untuk menghitung . (dari pada saya catat di file yg berbeda) >>>>>>> sebagai dan dasar pembuatan formula >>>>>>> >>>>>>> >>>>>>> Salam >>>>>>> >>>>>>> >>>>>>> Lukman >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> 2015-06-11 12:10 GMT+07:00 'Mr. Kid' mr.nm...@gmail.com >>>>>>> [belajar-excel] <belajar-excel@yahoogroups.com>: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Jadi kalau ada kolom i yang tidak berisi rumus (alias blank), maka >>>>>>>> nilainya tetap apa adanya dari sumber data ? >>>>>>>> Apakah semua rumus di kolom i itu pasti mengambil dari kolom yang >>>>>>>> sama ? >>>>>>>> Maksudnya, ketika rumusan kolom i akan diimplementasi di kolom q1 >>>>>>>> tahun x, maka akan menggunakan semua nilai di kolom tersebut juga >>>>>>>> berdasar >>>>>>>> kode-kode dalam rumusan kolom i ? >>>>>>>> >>>>>>>> >>>>>>>> 2015-06-11 14:46 GMT+10:00 lkm jktind lkmjkt...@gmail.com >>>>>>>> [belajar-excel] <belajar-excel@yahoogroups.com>: >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Pak Kid. >>>>>>>>> >>>>>>>>> Data nya : ada yg mengunakan USD dan IDR >>>>>>>>> sedangkan Harga sahamnya mengunakan IDR >>>>>>>>> Tahun fiscalnya ada ada yg berbeda: >>>>>>>>> Kebanyakan : dari jan ~ des , atau dari april 2014 ~ maret >>>>>>>>> 2015 (jepang) >>>>>>>>> >>>>>>>>> No Acc ---- di kolom C >>>>>>>>> Ticker --- di kolom A >>>>>>>>> >>>>>>>>> Data awal nya . dari aa0 sampai AT100 jumlah row nya bisa >>>>>>>>> tidak sama. disini ada formula yg di letakan di dalam excel. >>>>>>>>> >>>>>>>>> Data Inti nya dari ba2= sampai bg5= disini . semua >>>>>>>>> data di seragamkan dengan mata uang rupiah. >>>>>>>>> qtr, qtrQ, qtrY, qtrA --- tahun fiscalnya dari jan ~ des >>>>>>>>> row 1. >>>>>>>>> qtk, qtrkQ, qttkY, qtkA --- tahun fiscalnya berbeda. >>>>>>>>> >>>>>>>>> qtr, qtk -- quater saat ini. >>>>>>>>> qtrQ , qtkQ ---- quater sebelumnya . digunakan untuk mencari >>>>>>>>> hasil 3 bulan terakhir ---- Q to Q. >>>>>>>>> qtrY , qtkY ---- setahun yg lalu . digunakan untuk >>>>>>>>> menghitung Y to Y >>>>>>>>> qtrA, qtkA ---- untuk mencari hasil 12 bulan terakhir. >>>>>>>>> contoh : = 2014 Q2 + 2013 Q4 - 2013 Q2 >>>>>>>>> >>>>>>>>> sebuah template formula : >>>>>>>>> sebenarnya ada sheet tambahan . dinamai sheet rumus . . >>>>>>>>> >>>>>>>>> Sub copy_formula() >>>>>>>>> Application.Calculation = xlCalculationAutomatic >>>>>>>>> Sheets("rumus").Range("R38:R83").Copy >>>>>>>>> >>>>>>>>> Selection.PasteSpecial Paste:=xlPasteFormulas, >>>>>>>>> Operation:=xlNone, _ >>>>>>>>> SkipBlanks:=False, Transpose:=False >>>>>>>>> >>>>>>>>> Selection.Copy >>>>>>>>> Selection.PasteSpecial Paste:=xlPasteValues, >>>>>>>>> Operation:=xlNone, SkipBlanks _ >>>>>>>>> :=False, Transpose:=False >>>>>>>>> Application.CutCopyMode = False >>>>>>>>> With Selection.Interior >>>>>>>>> .Pattern = xlNone >>>>>>>>> .TintAndShade = 0 >>>>>>>>> .PatternTintAndShade = 0 >>>>>>>>> End With >>>>>>>>> Selection.Replace What:="False", Replacement:="", >>>>>>>>> LookAt:=xlPart, _ >>>>>>>>> SearchOrder:=xlByRows, MatchCase:=False, >>>>>>>>> SearchFormat:=False, _ >>>>>>>>> ReplaceFormat:=False >>>>>>>>> Selection.Replace What:="", Replacement:="", LookAt:=xlPart, _ >>>>>>>>> SearchOrder:=xlByRows, MatchCase:=False, >>>>>>>>> SearchFormat:=False, _ >>>>>>>>> ReplaceFormat:=False >>>>>>>>> Selection.Replace What:="#VALUE!", Replacement:="", >>>>>>>>> LookAt:=xlPart, _ >>>>>>>>> SearchOrder:=xlByRows, MatchCase:=False, >>>>>>>>> SearchFormat:=False, _ >>>>>>>>> ReplaceFormat:=False >>>>>>>>> Selection.Replace What:="", Replacement:="", LookAt:=xlPart, >>>>>>>>> SearchOrder _ >>>>>>>>> :=xlByRows, MatchCase:=False, SearchFormat:=False, >>>>>>>>> ReplaceFormat:=False >>>>>>>>> >>>>>>>>> Application.Calculation = xlCalculationManual >>>>>>>>> >>>>>>>>> End Sub >>>>>>>>> >>>>>>>>> di kolom I ada rumus nya >>>>>>>>> >>>>>>>>> total row sekitar 47.800 baris dengan columns 30 >>>>>>>>> >>>>>>>>> kalau di hitung dengan VBA komplit_1 waktunya sekitar 22 ~ 23 >>>>>>>>> menit. >>>>>>>>> VBA Komplit_2 sekitar 15 ~ 16 menit. >>>>>>>>> >>>>>>>>> Salam >>>>>>>>> >>>>>>>>> >>>>>>>>> Lukman >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 2015-06-11 10:06 GMT+07:00 'Mr. Kid' mr.nm...@gmail.com >>>>>>>>> [belajar-excel] <belajar-excel@yahoogroups.com>: >>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Hai Lukman, >>>>>>>>>> >>>>>>>>>> Data awalnya seperti apa dan hasilnya seperti apa ya ? >>>>>>>>>> Tampaknya tidak semua record adalah hitungan. Record hasil >>>>>>>>>> hitungan pun sebenarnya akan selalu tetap per kode di kolom C, walau >>>>>>>>>> hitungannya membutuhkan kode kolom C lainnya. >>>>>>>>>> >>>>>>>>>> Bolehkah dijabarkan kapan menggunakan : >>>>>>>>>> qtr,qtrq,qtrY,qtrA ? >>>>>>>>>> >>>>>>>>>>> Dim qtr As String, qtrQ As String, qtrY As String, qtrA As String >>>>>>>>>>> Dim qtk As String, qtkQ As String, qtkY As String, qtkA As String >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Sepertinya sebuah template formula yang diletakkan pada sebuah >>>>>>>>>> kolom bisa mempercepat proses daripada menghitung setiap cells >>>>>>>>>> dengan loop >>>>>>>>>> terhadap M baris x N kolom. >>>>>>>>>> >>>>>>>>>> Wassalam, >>>>>>>>>> Kid. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> 2015-06-08 12:00 GMT+10:00 lkm jktind lkmjkt...@gmail.com >>>>>>>>>> [belajar-excel] <belajar-excel@yahoogroups.com>: >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> lebih sering -- hanya di hitung 1 column saja . >>>>>>>>>>> >>>>>>>>>>> contoh file terlampir : >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Salam >>>>>>>>>>> >>>>>>>>>>> Lukman >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> 2015-06-07 18:58 GMT+07:00 Toby kenzo tobyke...@yahoo.co.id >>>>>>>>>>> [belajar-excel] <belajar-excel@yahoogroups.com>: >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Dear Lukman, >>>>>>>>>>>> >>>>>>>>>>>> Menurut saya masih bisa di simplfy programnya dgn tidak terlalu >>>>>>>>>>>> banyak menggunakan "kondisi". >>>>>>>>>>>> Jika memungkinkan,anda bisa menggunakan formula excel dalam >>>>>>>>>>>> suatu sheet untuk melakukan kalkulasi,jadi tidak semua fungsi >>>>>>>>>>>> kalkulasi di >>>>>>>>>>>> lakukan di dalam vba,sebisa mungkin tugas vba hanya memanggil >>>>>>>>>>>> resultnya >>>>>>>>>>>> saja, itu akan lebih cepat. >>>>>>>>>>>> >>>>>>>>>>>> TerimaKasih. >>>>>>>>>>>> >>>>>>>>>>>> Sent from Yahoo Mail on Android >>>>>>>>>>>> <http://overview.mail.yahoo.com/mobile/?.src=Android> >>>>>>>>>>>> >>>>>>>>>>>> ------------------------------ >>>>>>>>>>>> * From: * lkm jktind lkmjkt...@gmail.com [belajar-excel] < >>>>>>>>>>>> belajar-excel@yahoogroups.com>; >>>>>>>>>>>> * To: * belajar-excel@yahoogroups com < >>>>>>>>>>>> belajar-excel@yahoogroups.com>; >>>>>>>>>>>> * Subject: * [belajar-excel] Do Case atau select Case [2 >>>>>>>>>>>> Attachments] >>>>>>>>>>>> * Sent: * Sun, Jun 7, 2015 6:15:17 AM >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Saya telah membuat VBA (seperti terlampir di email ini.) >>>>>>>>>>>> >>>>>>>>>>>> Tapi rasanya lambat dalam memproses data. >>>>>>>>>>>> >>>>>>>>>>>> bila mengunakan do case atau select case apakah akan lebih >>>>>>>>>>>> cepat ? >>>>>>>>>>>> >>>>>>>>>>>> bagaimana cara merubahnya . bila hendak mengunakan do case. >>>>>>>>>>>> /select case. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Salam >>>>>>>>>>>> >>>>>>>>>>>> Lukman >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> NB : >>>>>>>>>>>> 1. Komplit_1 -- ini lambat >>>>>>>>>>>> 2. Komplit_2 -- ini lebih cepat daripada yang diatas. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> > >