Halo Mr. Kid
Mohon maaf atas subjectnya, karena ketidak-tahuan saya,. kedepannya tidak saya
ulangi lagi.
Kalau yang saya maksud edit listview-nya adalah, pada saat cursor mouse saya
arahkan dan klik kanan sekali ke listsubitem (atau juga listitem kolom 1)
tertentu , lalu saya ketikkan suatu huruf / angka/ karakter lain maka akan
terinput datanya , mohon berikan contoh code-nya, Terima kasih.
Hs,
Ratri R
From: Mr. Kid
Sent: Wednesday, March 12, 2014 5:04 AM
To: BeExcel
Subject: Re: [belajar-excel] EDIT LISTVIEW VBA EXCEL
Hai Ratri,
*** imho, subject email pada posting berikutnya tidak perlu semuanya huruf
kapital, karena huruf kapital pada sebuah kalimat dalam dunia maya sering
diartikan sedang membentak...
Misal :
a. dimiliki sebuah listvew dengan nama lvw,
b. memiliki headers,
c. jumlah kolom dalam lvw ada 3 kolom,
d. jumlah list item dalam lvw ada 7 baris.
1. Mari kenali control object listview
lvw.columnheaders(1) lvw.columnheaders(2)
lvw.columnheaders(3)
lvw.listitems(1)
lvw.listitems(1).listsubitems(1)
lvw.listitems(1).listsubitems(2)
lvw.listitems(2)
lvw.listitems(2).listsubitems(1)
lvw.listitems(2).listsubitems(2)
lvw.listitems(3)
lvw.listitems(3).listsubitems(1)
lvw.listitems(3).listsubitems(2)
lvw.listitems(4)
lvw.listitems(4).listsubitems(1)
lvw.listitems(4).listsubitems(2)
lvw.listitems(5)
lvw.listitems(5).listsubitems(1)
lvw.listitems(5).listsubitems(2)
lvw.listitems(6)
lvw.listitems(6).listsubitems(1)
lvw.listitems(6).listsubitems(2)
lvw.listitems(7)
lvw.listitems(7).listsubitems(1)
lvw.listitems(7).listsubitems(2)
>> jadi,
a. columnheaders adalah base 1 (kolom ke-1 diberi nilai indeks bernilai 1)
b. baris data pada kolom ke-1 diakses dengan properti listitems yang diikuti
dengan indeks baris
c. baris pada listview adalah base 1 (baris ke-1 diberi nilai indeks bernilai 1)
d. subitems dalam listview dimulai dari kolom ke-2 dan menggunakan base 1
(subitem ke-1 yang ada di kolom ke-2 diberi nilai indeks 1)
e. seluruh nilai indeks yang relatif terhadap setiap properti (columnheaders,
listitems, listsubitems) dimulai dari 1 dan seterusnya
2. edit header listview lvw
>> ganti text header kolom ke-2 menjadi 'Kid'
lvw.columnheaders(2).text="Kid"
3. edit baris ke-3 pada kolom ke 1 menjadi 'Kid baris ke-3'
>> berarti pada lvw.listitems(3)
lvw.listitems(3).text ="Kid baris ke-3"
4. edit baris ke-7 pada kolom ke 3 menjadi 'Kid baris ke-6 kolom 3'
>> berarti pada subitems ke-2 karena pada kolom ke-3
>> berarti pada baris ke-7 menggunakan lvw.listitems(7).listsubitems(2)
lvw.listitems(7).listsubitems(2).text="Kid baris ke-6 kolom 3"
5. edit baris ke-3 pada kolom ke 1 menjadi 'Kid baris ke-3' dan edit baris ke-7
pada kolom ke 3 menjadi 'Kid baris ke-6 kolom 3'
>> seperti nomor 3 dan 4 tapi dilakukan pada sebuah event
lvw.listitems(3).text ="Kid baris ke-3"
lvw.listitems(7).listsubitems(2).text="Kid baris ke-6 kolom 3"
6. edit baris 3 sampai 5 pada kolom ke-1 agar berisi nomor id dari 13 sampai 15
>> berarti pakai lvw.listitems(3) sampai lvw.listitems(5) dan yang berubah
>> adalah nomor indeks nya, yaitu dari 3 sampai 5
>> teks isian adalah 13 sampai 15, berarti setara dengan komputasi matematis 10
>> ditambah dengan nomor indeks nya
dim lidx as long
for lidx =3 to 5
lvw.listitems( lidx ).text = 10 + lidx
next lidx
7. edit baris ke 1 sampai ke 7 pada kolom ke-3 dengan suatu nilai numerik dari
1000 sampai 7000
>> kolom ke-3 berarti listsubitems ke-2 pada indeks mulai dari 1 sampai 7
>> berarti, menggunakan lvw.listitems(1).listsubitems(2) sampai
>> lvw.listitems(7).listsubitems(2)
>> teks pengisinya adalah 1000 sampai 7000 (komputasi matematis nomor indeks
>> dikali 1000)
dim lidx as long
for lidx =1 to 7
lvw.listitems( lidx ).listsubitems(2) .text = lidx * 1000
next lidx
8. ternyata, nomor 7 di atas pengen diganti menjadi seluruh baris yang ada
dalam listview
>> jumlah seluruh baris yang ada dalam listview adalah lvw.listitems.count
>> kolom ke-3 berarti listsubitems ke-2 pada indeks mulai dari 1 sampai
>> lvw.listitems.count
>> berarti, menggunakan lvw.listitems(1).listsubitems(2) sampai
>> lvw.listitems( lvw.listitems.count ).listsubitems(2)
>> teks pengisinya adalah 1000, 2000, dan seterusnya mengikuti nomor indeks
>> (komputasi matematis nomor indeks dikali 1000)
dim lidx as long
for lidx =1 to lvw.listitems.count
lvw.listitems( lidx ).listsubitems(2) .text = lidx * 1000
next lidx
9. eh nomor 9 itu bisa muncul error kalo gak ada baris apapun dalam listview,
gimana dong ??? bingung nih... sampai hampir putus asa error mulu...
>> sebelum blok perulangan (loop) dengan statement for next, dilakukan
>> pemeriksaan terhadap jumlah baris yang ada dalam listview
>> jumlah baris dalam listview adalah ..... (apa hayo... masih perlu ditulis
>> disini ? jiaaahhh)
>> blok loop boleh dikerjakan kalau jumlah baris dalam listview harus lebih
>> dari 0
dim lidx as long
if lvw.listitems.count > 0 then
for lidx =1 to lvw.listitems.count
lvw.listitems( lidx ).listsubitems(2) .text = lidx * 1000
next lidx
endif
10. le.... yang simbah pengen ganti itu cuman baris 1,2,5 sama 7 tok til...
kolomnya yang kolom ke-2, diisi dengan teks status berbunyi 'OK'. Piye le...
>> nyuwun pangapunten mbah....
>> simbah kedah maos bab for each next rumiyen mbah...
>> mangkeh, cekrip ipun kados mekaten :
dim vidx as variant
for each vidx in array( 1, 2, 5, 7 )
lvw.listitems( vidx ).listsubitems(1).text = "OK"
next vidx
simbah : "kok error terus le..."
tole : "lha simbah sampun maos bab for each next dereng mbah ?"
simbah : "uwis, ning tulisane bab kuwi kok blawur ya... huruf e dadi gedrik
kabeh tur dadi loro-loro kabeh..."
tole : (membatin) "ya iyalah... lah bacanya gak pake kacamata... wis jan...
sing waras ngalah wae lah"
;)
sepertinya 10 item cukup buat acara edit-editan kan ya...
moga-moga ada yang berbaik hati memasang 10 item diatas menjadi sebuah file
ya... (maaf, gak sempet... harus siap-siap berangkat)
Wassalam,
Kid.
2014-03-11 20:14 GMT+07:00 Ratri Risyanto <[email protected]>:
Hallo All Master Excel,
Bagaimana cara edit listview / edit subitem listview / editlabel subitem
listview? (pada subitem tertentu, atau beberapa, atau semuanya)
Tolong beri contoh code-nya, dan berikan penjelasannya.
Atas perhatiannya, Terima kasih.
Hs,
Ratri Risyanto