:) Saya ndak tahu dalam cell ada yang menggunakan fungsi randbetween atau ndak. Poin pentingnya, setting kalkulasi manual atau automatic tidak akan mengubah sifat fungsi RandBetween. Jika fungsi ini dipakai dalam sebuah cell alias di cell tersebut berisi formula berbunyi =Randbetween( bla , bli ) ataupun fungsi-fungsi yang bersifat volatile lainnya, maka cell tersebut akan berubah nilainya begitu setting kalkulasi dikembalikan menjadi automatic.
Secara umum, cerita proses yang berkaitan dengan cell berfungsi volatile seperti RandBetween adalah sebagai berikut : > jika di cell 1 diberi fungsi RandBetween : (di cell 1 ada formula berbunyi =RandBetween( bla , bli ) a. Nilai cell 1 awal adalah x1, b. VBA mengubah setting kalkulasi ke manual, c. VBA hitung berdasar nilai hasil cell 1, yaitu nilai x1 d. VBA tulis hasil hitungannya ke sebuah cell 2, e. VBA mengubah setting kalkulasi ke automatic lagi, f. nilai di cell 1 sudah berubah menjadi x2 yang kemungkinan besar x1<>x2 > jika di cell 1 *tidak ada* fungsi randbetween : (di cell 1 berisi nilai konstan atau malah masih kosong) a. VBA mengubah setting kalkulasi ke manual, b. VBA pasang formula di cell 1 berupa fungsi RandBetween (cell 1 berisi formula randbetween jadinya) c. Nilai cell 1 awal adalah x1 (saat kalkulasi set manual), d. VBA hitung berdasar nilai hasil cell 1, yaitu nilai x1 e. VBA tulis hasil hitungannya ke sebuah cell 2, f. VBA mengubah setting kalkulasi ke automatic lagi, g. nilai di cell 1 sudah berubah menjadi x2 yang kemungkinan besar x1<>x2 > jika di cell 1 *tidak ada* fungsi randbetween dan semua proses dilakukan di dalam VBA (malah ndak perlu set kalkulasi ke manual) a. VBA tulis ke cell 1 hasil worksheetfunction randbetween b. VBA ambil nilai dari cell 1, misal bernilai x1 c. VBA hitung berdasar nilai cell 1, yaitu nilai x1 d. VBA tulis hasil hitungannya ke sebuah cell 2, e. nilai di cell 1 tetaplah x1 Wassalam, Kid. 2014-10-01 20:57 GMT+10:00 lkm jktind [email protected] [belajar-excel] < [email protected]>: > > > Pak Kid. > > Terima kasih. > > sudah kutemukan masalahnya . > ternyata didalam VBA ada : Application.Calculation = > xlCalculationAutomatic > kacau. > > Hasilnya : > dengan formula tetap menempel di work sheet , dan pakai automatic : 7.338 > detik > dengan formula tetap menempel di work sheet , dan dicentang automatic : > 635 detik --- di excel - posisi manual > dengan formula full di VBA Application.Calculation = xlCalculationManual > : beberapa detik saja. > (dibawah 2 detik) ---- sebanding dengan cpu usage nya dipakai semua . > > dengan data 3495 ---- bila ini di loop lagi 23 X 6 --- masih nga ada > artinya. > > mungkin harus saya biasakan . --- sebelum masuk ke perhitungan dengan full > VBA . > Application.Calculation = xlCalculationManual. > > menjelang akhir baru di beri : > Application.Calculation = xlCalculationAutomatic > > sedangkan : screen up to dating --- true atau false . ---selisih > waktunya beda dikit saja. > > telah saya cross check : hasil dari full vba --------- lalu saya input > formula dari excel . > kecuali randbetween --- yg tidak di ganggu ------. dan hasil akhirnya > sama . > boleh kah saya artikan : bahwa formula yg saya gunakan di VBA --- sudah > sesuai dengan di excel . > > > > Salam > > > Lukman > > > > > > > > > > > > > > > 2014-10-01 3:41 GMT+07:00 'Mr. Kid' [email protected] [belajar-excel] < > [email protected]>: > > >> >> Pak Lukman, >> >> Semua fitur Excel ketika digunakan dalam VBA, akan bekerja lebih lamban, >> karena dibutuhkan proses eksekusi baris script VBA. >> Untuk lama proses sampai 1700 detik pada iterasi yang sangat banyak >> (lebih dari 500K step iterasi) mungkin terhitung wajar. Untuk terasi >> dibawah 500K, berarti ada yang kurang pas antara otomasi dengan sistem >> simulasinya. Penjelasan sistem simulasi lengkap beserta dasar teori >> pemilihan komponen simulasinya perlu diketahui lebih dahulu sebelum >> menyusun otomasinya. >> >> Diemail Anda dikatakan ada penggunaan RandBetween dan vLookUp. Maka harus >> dipertanyakan lebih dulu, apakah simulasinya akan membentuk langsung 1 >> dataset (series waktu) sekaligus atau satu per satu setiap waktu sampai >> seluruh dataset terbentuk. Maksudnya, harus digenerate langsung dari >> tanggal ke-1 sampai tanggal ke-1000 atau tanggal ke-1 selesai lalu muncul >> tanggal ke-2 dst sampai tanggal ke-1000. >> >> Kondisi yang mungkin : >> A. Jika menggunakan randbetween, berarti tanggal ke-1 sampai tanggal >> ke-1000 langsung terbentuk bilangan acak dan bagian lain (kolom lain) pun >> harus bekerja simultan langsung mengolah bersamaan dari tanggal ke-1 sampai >> ke-1000. Artinya, yang paling memungkinkan adalah memasang formula dalam >> worksheet bukan menghitung formula dengan VBA. >> >> B. Jika yang dimaksud adalah tanggal ke-1 selesai disimulasi lalu pindah >> ke tanggal ke-2 lalu disimulasi sampai tanggal ke-1000, >> maka : >> 1. jika ada proses untuk menggunakan hasil sebuah cell yang sama untuk >> lebih dari satu proses simulasi. >> >> proses otomasinya menggunakan loop dari satu tanggal ke tanggal >> berikutnya. >> 2. jika tidak ada proses untuk menggunakan hasil sebuah cell yang sama >> untuk lebih dari satu proses simulasi >> >> proses otomasi bisa menggunakan VBA atau dengan formula dalam >> worksheet >> >> Kalo ndak salah kira-kira, jika kondisi A disusun dengan baik, mestinya >> proses membutuhkan waktu sekitar 30 sampai 350 detik saja untuk data kurang >> dari 30K. Jika kondisi B, maka proses VBA membutuhkan waktu sekitar 30 >> sampai 350 detik juga pada data kurang dari 30K. Sedang untuk penggunaan >> formula di kondisi B.2., bisa tergantung jumlah formula dalam workbook yang >> butuh dikalkulasi Excel (antrian dalam proses kalkulasi Excel). >> >> Wassalam, >> Kid. >> >> >> >> 2014-09-30 20:47 GMT+10:00 lkm jktind [email protected] >> [belajar-excel] <[email protected]>: >> >> >>> >>> menggunakan data montecarlo >>> >>> 1. sebagian besar formula menempel di work sheet. >>> 2. semuanya mengunakan VBA -- --(mengunakan vlookup dan randbtween -- >>> masing 3 pasang) >>> >>> dengan hasil >>> 1. 7000 detik -- cpu usage = 25 % >>> 2 .12.000 detik . ---> cpu useage = maksimal >>> >>> apakah bisa di artikan . formula di vba --- akan lebih lamban dari pada >>> di work sheet ? >>> >>> >>> Salam >>> >>> Lukman >>> >>> >> > >

