Hai Gultom, Tentang :
> Artinya tidak bisa merubah arah dengan for each yah? > > Sebaiknya tidak terburu-buru membuat simpulan > Bukankah sudah ada contohnya di email lalu bahwa dengan for each cukup luwes untuk melakukan sebuah proses terhadap banyak area range. > Sila dibaca ulang email lalu secara saksama Tentang : > Karena saya suka dengan "for each data in selection" > > Hati-hati, 'suka' sesuatu perlu dilakukan dengan penuh kesabaran dan rasa syukur > Jangan sampai 'suka' membuat Anda menjadi berlaku tidak adil (tidak proporsional karena tidak sesuai dengan tempatnya), termasuk menjadi enggan untuk bersua dengan hal baru yang belum diketahui > Yang Anda 'suka' itu 'for each' atau 'selection' atau keduanya ? > Loop dengan for each sering menjadi opsi terakhir karena ditengarai sebagai loop paling lambat > Menggunakan range Selection kurang luwes karena meminta user untuk memilih range yang akan diproses atau jika pemilihan range dengan VBA, maka Selection membutuhkan proses penggunaan methods Activate atau Select yang selalu (sekali lagi SELALU) diusahakan untuk dihindari karena memperlambat proses Tentang : > Dimana data array tersebut [kid: range Selection] jadi mudah untuk patokan > process selanjutnya [kid: termasuk dengan for each]. > > seperti berikut [kid: baris kode tidak pakai for each ... in selection], > jadi harus saya buat fix cellnya [kid: padahal] (saya butuh perpindahan > otomatis dari array data) > > Sila pelajari lebih lanjut tentang cara mendapatkan area range dimulai dari sini <http://b-excel.blogspot.co.id/2013/09/belajarvba-011-range-01-berdasar-alamat.html> . > Sila dibaca ulang contoh-contoh dalam email lalu dengan saksama > Pada dasarnya, penggunaan for each tergantung cara menentukan area dari suatu range yang akan diproses. Tentang : > <baris-baris kode VBA> > > Setiap range yang memilih struktur (format, layout, acuan, luasan, pola, dan sebagainya) bisa ditentukan secara dinamis. > Jadi, dimungkinkan untuk tidak menuliskan alamat suatu range secara hardcoded. Apalagi di Excel ada fitur Named Range (apalagi kalau dengan formula perujuk range dinamis), Excel Table, dan lainnya > Pelajari juga tentang loop yang dimulai disini <http://b-excel.blogspot.co.id/2013/08/belajarvba-010-perulangan-1-for-next.html> . Regards, Kid 2017-12-13 9:32 GMT+07:00 R T Gultom ro_...@yahoo.com [belajar-excel] < belajar-excel@yahoogroups.com>: > > > Dear Mr. Kid, > > Artinya tidak bisa merubah arah dengan for each yah? > Karena saya suka dengan "for each data in selection" > > Dimana data array tersebut jadi mudah untuk patokan process selanjutnya. > > seperti berikut, jadi harus saya buat fix cellnya (saya butuh perpindahan > otomatis dari array data) > > Sub Forecast() > Dim rng1, rng2, rng3 As Range > Dim rw, clm, no1, no2, no3, no4, no5 As Integer > > no3 = 30 > Set rng2 = Cells(11, no3) > Set rng1 = Range("k11:r14") > > rw = rng1.Rows.Count - 1 > clm = rng1.Columns.Count - 1 > > For dt = 0 To clm > For dt1 = 0 To rw > Set rng3 = Cells(14 - dt1, 11 + dt) > If rng3.Value >= 1 Then > Range(Cells(no3, 12), Cells(no3 + rng3.Value, 12)).Value = Cells(14 - dt1, > 8).Value > Range(Cells(no3, 11), Cells(no3 + rng3.Value, 11)).Value = Cells(14 - dt1, > 6).Value > no3 = no3 + rng3.Value > End If > Next > Next > > > End Sub > > Terima kasih, > Gultom > > >