[belajar-excel] Re: Mengisi data menggunakan form

2015-06-03 Terurut Topik danny_06...@yahoo.com [belajar-excel]
Waaah mantap Mr. Kid.
Penjelasannya mudah dimengerti, walapun saya tidak punya dasar Excel
Terima kasih Mr. Kid.
GBU...

Re: [belajar-excel] Re: Mengisi data menggunakan form

2015-06-01 Terurut Topik 'Mr. Kid' mr.nm...@gmail.com [belajar-excel]
Hai Danny,

rng.Offset(ComboBox3.ListIndex, ComboBox1.ListIndex * 3 +
ComboBox2.ListIndex).Value = TextBox1.Value
dengan :
rng -> merujuk ke range C4
Offset -> lompat dari range tertentu (dalam hal ini dari rng yang merujuk
range C4) sebanyak b baris dan k kolom
ComboBox3.ListIndex -> penunjuk jumlah baris offset alias nilai b baris
ComboBox1.ListIndex * 3 + ComboBox2.ListIndex -> penunjuk jumlah kolom
offset alias nilai k kolom

Properti ListIndex dalam combobox dan listbox jauh lebih penting dibanding
properti Text combobox atau listbox, apalagi value combobox atau listbox.
Properti listindex berbasis 0 alias nilai indeks 0 mewakili item ke-1 dalam
daftar combobox atau listbox.

Kasus Anda,
ComboBox1 berisi Bali (item ke-1 dalam daftar yang berindeks 0 alias
listindex bernilai 0) dan Jakarta (item ke-2, indeks 1)
Kalau ComboBox1 dipilih teks berbunyi Bali, berarti indeksnya 0 (listindex
bernilai 0)
dan isian ComboBox2 adalah Stock (kolom C, index 0), L Pro (kolom D, index
1), Retur (kolom E, index 2)

Kalau ComboBox2 dipilih teks berbunyi Jakarta, berarti indeksnya 1
(listindex bernilai 1)
dan isian ComboBox2 adalah Export (kolom F, index 0), Sales (kolom G, index
1), Other (kolom H, index 2)

Jadi, target penulisannya adalah :
IF ComboBox1.text ="Bali" then
 IF combobox2.text = "Stock" then
  tulis ke range C4 offset kolom sebanyak *0* kolom, dengan offset
baris tertentu
 elseif combobox2.text="L Pro" then
  tulis ke range C4 offset kolom sebanyak *1* kolom, dengan offset
baris tertentu
 elseif combobox2.text="Retur" then
  tulis ke range C4 offset kolom sebanyak *2* kolom, dengan offset
baris tertentu
elseif combobox1.text="Jakarta" then
IF combobox2.text="Export" then
  tulis ke range C4 offset kolom sebanyak *3* kolom, dengan offset
baris tertentu
 elseif combobox2.text="Sales" then
  tulis ke range C4 offset kolom sebanyak *4* kolom, dengan offset
baris tertentu
 elseif combobox2.text="Other" then
  tulis ke range C4 offset kolom sebanyak *5* kolom, dengan offset
baris tertentu


else
'kala
endif

Karena saya termasuk malas menulis uraian logika sepanjang itu, maka dari
komposisi nilai offset kolom yang dibutuhkan :
*0,1,2,3,4,5*
tergantung dari listindex combobox1
 - yang bernilai *0* harus bisa menghasilkan *0,1,2*
 - yang bernilai *1* harus bisa menghasilkan *3,4,5*
dan listindex combobox2
yang kalau ditabelkan menjadi :

combobox1combobox2  target nilai offset  teksnya
  0 0
0   Bali - Stock
  0 1
1   Bali - Lpro
  0 2
2   Bali - Retur
  1 0
3   Jakarta - Export
  1 1
4   Jakarta - Sales
  1 2
5   Jakarta - Other

Akan tampak dengan sendirinya pola dari combobox1 dan combobox2 untuk
mendapatkan nilai target offset, yaitu :
listindex nya combobox1 dikali 3 ditambah dengan nilai listindex combobox2

Jadi, nyata bahwa properti listindex lebih pokok dibanding properti text
apalagi value ketika menggunakan combobox ataupun listbox.

;)
Tidak selamanya malas itu suatu keburukan andaikan disikapi dengan baik dan
tepat

Wassalam,
Kid




2015-06-01 17:33 GMT+10:00 danny_06...@yahoo.com [belajar-excel] <
belajar-excel@yahoogroups.com>:

>
>
> rng.Offset(ComboBox3.ListIndex, ComboBox1.ListIndex * 3 +
> ComboBox2.ListIndex).Value = TextBox1.Value
>
> Oiya Mr. Kid, kenapa harus ada ( * 3 ) ya setelah ComboBox1.ListIndex?
> Tolong dijelaskan agar saya mengerti
>  
>


[belajar-excel] Re: Mengisi data menggunakan form

2015-06-01 Terurut Topik danny_06...@yahoo.com [belajar-excel]
rng.Offset(ComboBox3.ListIndex, ComboBox1.ListIndex * 3 + 
ComboBox2.ListIndex).Value = TextBox1.Value

Oiya Mr. Kid, kenapa harus ada ( * 3 ) ya setelah ComboBox1.ListIndex? Tolong 
dijelaskan agar saya mengerti