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