Hai Nisa, Pada event click si tombol Hitung yang telah Anda buat berisi proses : 1. loop menginput nilai Periode dan X 2. komputasi regresi dengan fungsi Linest
Lalu sekarang Anda ingin mengisi nilai di kolom Forecast dan error Forecast-nya. Pengisian ini membutuhkan nilai hasil proses nomor 2 (komputasi regresi) pada baris pertama hasil komputasi. Berarti Anda butuh sebuah proses loop lagi (menjadi proses ke-3), mulai dari baris record ke-1 (seperti loop nomor 1). Baris komputasi berdasar nilai di kolom X dan hasil komputasi nomor 2 bisa dilakukan di dalam loop ini. Silakan dicoba... fyi, Milis punya blog yang juga berisi dasar-dasar VBA yang dimulai dari sini <http://b-excel.blogspot.com/2013/06/belajarvba-000-kenalan.html>. btw, Andaikan bersedia merunut ulang seluruh proses yang sudah Anda buat, ceritanya jadi begini : 1. user menentukan jumlah periode 2. user memilih jenis regresi 3. user memasukkan nilai-nilai Y (penjualan) dengan klik tombol penjualan 4. user hitung regresi dengan klik tombol hitung, tapi dalam proses hitung, ada proses input kolom periode dan X agar didapat persamaan regresinya menggunakan fungsi Linest, lalu menghitung output per data penjualan... Bagaimana jika : a. proses nomor 3 : user memasukkan nilai-nilai Y > disertai penulisan nilai Periode dan X saat menulis nilai Y inputan user > kemudian diakhiri dengan memasang array formula Linest-nya (sebelum menampilkan pesan ke user) b. proses nomor 4 : hitung regresi diisi dengan : > penulisan nilai hasil komputasi Forecast dan selisihnya melalui sebuah loop, yang persamaan regresinya sudah didapat di proses poin a di atas. Sepertinya akan bisa lebih mudah deh.... hehehehe.... Berhubung saya ndak suka yang ruwet dalam programming, bagaimana kalau lihat file yang ada disini <https://app.box.com/s/l5z1gu30gjx9jccf8mk47n3lmx50w82t>, sapa tau jadi bahan berimajinasi... Sepertinya, jika file tersebut diotomasi, malah proses otomasinya lebih sederhana... Apalagi bila formula komputasi persamaan regresinya dipindah ke sheet lain. Kolom-kolom lain juga bisa ditambahkan dalam tabel tersebut. Dan prosesnya akan sekedar : 1. membersihkan tabel (object table) 2. memilih jenis regresi 3. input data baru (nilai Y dan X) dengan loop yang mirip seperti yang telah Anda buat Tidak perlu puyeng pasang formula dan loop untui komputasi hasil forcast per nilai Y, karena object Excel table yang mengatur penyalinan formula komputasinya. ;) sekedar opsi sajah kok... Wassalam, Kid On Sat, Jun 6, 2015 at 2:00 AM, Nisa Khairunnisa [email protected] [belajar-excel] <[email protected]> wrote: > > > untuk kolom error forecast itu dari inputan penjualan (y) dikurangi kolom > forecast. itu manggil untuk pengurangannya seperti apa ya ?? itu inputannya > kan dari perulangan bukan ditampung di variable, jadi gmn yaa ? mohon > bantuannya master, terimakasih > > > > Pada Jumat, 5 Juni 2015 19:38, "Nisa Khairunnisa [email protected] > [belajar-excel]" <[email protected]> menulis: > > > > terimakasih banyaaak Mr.Kid sudah membantu, > terus terang saya baru sekali belajar vba excel ini jadi masih > kebingungan, tapi ditugasi untuk buat aplikasi sales forecast dengan vba > excel. > Mr. Kid kalau untuk operasi perkalian dan penjumlahan kaya gimana ya, > untuk mengisi kolom forecast, > mohon bantuannya lagi :D > > Cells(outRow + rowNum + 3, 6).Value = Range("j2").Value + > Range("i2").value * x > > > > > Pada Jumat, 5 Juni 2015 7:01, "'Mr. Kid' [email protected] > [belajar-excel]" <[email protected]> menulis: > > > > Hai Nisa, > > Sebaiknya, pelajari lagi tentang : > 1. datatype (di excel cells maupun di VBA -> 2 hal yang mirip tapi > berbeda) :: terutama tipe string dan object > 2. cara menggunakan variabel > 3. cara menggunakan suatu prosedur (fungsi bawaan VB, fungsi bawaan Excel > via VBA, dsb) -> terutama cara menginput nilai ke suatu parameter prosedur > yang akan digunakan > 4. cara menggabung teks (di cells maupun VBA) -> di VBA, sertai dengan > menggabung teks yang disimpan dalam variabel > 5. cara merujuk suatu range (selain dengan properti bernama Cells) > 6. cara memanfaatkan properti dan methods suatu range (properti : address, > value, dsb; methods : offset, resize, copy, dsb) > > Berikut ini adalah salinan catatan dari file terlampir. > 'kalau di worksheet, ingin formulanya berbunyi : (misal a1 berisi > nilai 3 alias 3 periode) > ' =Linest( $d$9:$d$11 , $e$9:$e$11 , 1 , 1 ) > 'maka : > ' $d$9:$d$11 -> didapat dari : Range("d9").Resize(lRow, 1).Address > ' $e$9:$e$11 -> didapat dari : Range("d9").Resize(lRow, 1).Address > 'semua teks digabung jadi satu, yaitu teks : > ' "=Linest(" > ' Range("d9").Resize(lRow, 1).Address > ' "," > ' Range("d9").Resize(lRow, 1).Address > ' "," > ' "1" > ' "," > ' "1" > ' ")" > > oh iya, > Jika akan menyematkan suatu image (picture) dari suatu file gambar ke > suatu object control, pilihlah gambar yang sudah diformat menjadi .ico, > .gif atau .jpg agar ukuran filenya tidak besar. Hindari penggunaan format > gambar .bmp, jadi usahakan convert si file gambar lebih dulu. Hal sederhana > ini bisa membuat ukuran file menjadi ramping... dan, > bisa menghindari para momod memberi surat cinta yang berbunyi : > > File lampiran yang melebihi 250KB dilepas dari email. blablabla > > > hahahaha.... itu sih emang momod nya aja yang crewet... (momod nya ada > banyak loh ya) > > > > Wassalam, > Kid > > > > 2015-06-04 23:49 GMT+10:00 Nisa Khairunnisa [email protected] > [belajar-excel] <[email protected]>: > > > mohon bantuannya para master, untuk coding fungsi linest pada vba excel, > hasil dari fungsi linest ini > ada di 2 kolom dan 5 baris. > > ini filenya > https://www.dropbox.com/s/6ozdu055yn6qttb/Sales%20Forecast.xlsm?dl=0 > > > > > > > >

