Hai Gultom,

Jujur saja, saya kurang paham dengan kasus ini. Moga-moga ada BeExceller
yang lebih paham ya...
Yang jelas, penggunaan properti Cells menggunakan syntax :
      Cells( nomor_cells )
atau
      Cells( nomor_baris , nomor_kolom )

Anda bisa mengatur nomor_cells, nomor_baris, dan nomor_kolom untuk berubah
nilainya dalam loop, sehingga arah loop bisa sesuai kebutuhan.
Jadi, perhatikan ulang saja baris-baris kode yang Anda miliki, bagian mana
yang diubah oleh baris kode Anda, nomor_cells kah, nomor_baris kah, atau
nomor_kolom
Lalu, ubah baris kode agar arah loop sesuai kebutuhan Anda.

btw,
*1. Secara default, loop pada sekumpulan range menggunakan for each akan
bergerak ke kanan (pindah kolom) lebih dulu.*
Kalau kolom di baris itu sudah habis, baru ke baris berikutnya kolom
pertama.
dim rng as range, lNilai as long
lnilai=0
for each rng in range("a1:F5")
      lnilai=lnilai+10
      rng.value=lnilai
next rng

*2. Kalau pakai cells*
'lcellsnumber dan lNilai bertipe LONG
dim lCellsNumber as long, lNilai as long      'kalau deklarasi dengan
bunyi  dim lCellsNumber, lNilai as long -> lcellsnumber bertipe variant,
lNilai bertipe long
lnilai=0
for lcellsnumber=1 to range("a11:F15").count
     lnilai=lnilai+1000
     range("a11:F15").cells( lcellsnumber ).value = lnilai    'kalau baris
ini tidak pakai range("a11:F15") akan seperti apa jadinya ya ?
next lcellsnumber

*3. Pakai nested loop*
dim lCol as long, lRow as long, lNilai as long
lnilai=0
for lRow=21 to 25
     for lCol=1 to 6
           lnilai=lnilai+10
           cells(  lrow ,  lcol ).value = lnilai
     next lcol
next lrow

*4. For each dengan range bisa sangat luwes, contoh :*
dim rng as range, lNilai as long
lnilai=0
for each rng in range("h6:m6,i3:i7,k5:L11,j9:n10,n3:k3,h11:h9")
      lnilai=lnilai+10
      rng.value= rng.text & " [" & lnilai & "]"
next rng

Regards,
Kid



2017-12-11 11:51 GMT+07:00 R T Gultom ro_...@yahoo.com [belajar-excel] <
belajar-excel@yahoogroups.com>:

>
>
> Dear All,
>
> Mohon bantuannya buat merubah  loop vba xls dari kalum daulu baru kemudian
> ke baris.
>
> Ini salah contoh yang saya buat
>
>
> Sub Forecast()
> Dim rng1, rng2 As Range
> Dim rw, clm, no1, no2, no3, no4, no5 As Integer
>
> no3 = 30
> Set rng1 = Application.Selection
> Set rng2 = Cells(11, no3)
>
> no4 = rng1.Column
>
> For Each dt In rng1
> If dt >= 1 Then
> Range(Cells(no3, 12), Cells(no3 + dt.Value, 12)).Value = dt.Offset(0, -3 -
> dt.Column + no4).Value
> no3 = no3 + dt.Value
> End If
> Next
>
> End Sub
>
> Kalau ini dijalankan, maka akan diurutkan dari baris kemudian ke kolumn.
>
> yang diinginkan adalah sebaluknya dari kelumn dulu baru baris.
>
> Terima kasih,
>
>
> Gultom
>
>
> 
>

Kirim email ke