Re: [belajar-excel] loop dari kolum baru kemudian baris di vba xls

2017-12-13 Terurut Topik R T Gultom ro_...@yahoo.com [belajar-excel]
Dear  Mr. Kid,
Terima kasih atas pengarahan dan pembelajarannya.

Regards,
Gultom

Re: [belajar-excel] loop dari kolum baru kemudian baris di vba xls

2017-12-13 Terurut Topik 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
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

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

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

.



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


Re: [belajar-excel] loop dari kolum baru kemudian baris di vba xls

2017-12-12 Terurut Topik R T Gultom ro_...@yahoo.com [belajar-excel]
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 RangeDim rw, clm, no1, no2, no3, no4, no5 
As Integer
no3 = 30Set rng2 = Cells(11, no3)
Set rng1 = Range("k11:r14")
rw = rng1.Rows.Count - 1clm = rng1.Columns.Count - 1
For dt = 0 To clmFor dt1 = 0 To rwSet rng3 = Cells(14 - dt1, 11 + dt)If 
rng3.Value >= 1 ThenRange(Cells(no3, 12), Cells(no3 + rng3.Value, 12)).Value = 
Cells(14 - dt1, 8).ValueRange(Cells(no3, 11), Cells(no3 + rng3.Value, 
11)).Value = Cells(14 - dt1, 6).Valueno3 = no3 + rng3.ValueEnd IfNextNext

End Sub
Terima kasih,Gultom


Re: [belajar-excel] loop dari kolum baru kemudian baris di vba xls

2017-12-11 Terurut Topik 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
Hai Gultom,

Ya tidak pakai For Each to ya...
Kan sudah ada contoh cara lain yang tidak pakai for each.
Bukankah tinggal disesuaikan saja baris kodenya supaya arah loop sesuai
kebutuhan ?

Regards,
Kid


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

>
>
> Dear Mr, Kids,
>
> Terima kasih ats sharenya.
> Yang saya maksud adalah kebalikan dari
> *1. Secara default, loop pada sekumpulan range menggunakan for each akan
> bergerak ke kanan (pindah kolom) lebih dulu.*
>
> dimana agar bergerak ke bawah dulu baru kekanan.
>
> Terima kasih,
>
> 
>


Re: [belajar-excel] loop dari kolum baru kemudian baris di vba xls

2017-12-11 Terurut Topik R T Gultom ro_...@yahoo.com [belajar-excel]
Dear Mr, Kids,
Terima kasih ats sharenya.Yang saya maksud adalah kebalikan dari 1. Secara 
default, loop pada sekumpulan range menggunakan for each akan bergerak ke kanan 
(pindah kolom) lebih dulu. 

dimana agar bergerak ke bawah dulu baru kekanan.
Terima kasih,


Re: [belajar-excel] loop dari kolum baru kemudian baris di vba xls

2017-12-11 Terurut Topik 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
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
>
>
> 
>


[belajar-excel] loop dari kolum baru kemudian baris di vba xls

2017-12-10 Terurut Topik R T Gultom ro_...@yahoo.com [belajar-excel]
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 RangeDim rw, clm, no1, no2, no3, no4, no5 As 
Integer
no3 = 30Set rng1 = Application.SelectionSet rng2 = Cells(11, no3)
no4 = rng1.Column
For Each dt In rng1If dt >= 1 ThenRange(Cells(no3, 12), Cells(no3 + dt.Value, 
12)).Value = dt.Offset(0, -3 - dt.Column + no4).Valueno3 = no3 + dt.ValueEnd 
IfNext
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