Dh, Sdh sy coba sesuai instruksi tp kok gak jalan ya? Kayaknya ada yang salah.. hahaha.. Ketika saya ketikkan "makan" hanya satu combo box saja yang tampil.
Mohon koreksinya File terlampir Tks Keket ijo "'Mr. Kid' [email protected] [belajar-excel]" <[email protected]> wrote: > > >Hai Keket, > >Langkah 1 : > >>> buat blok pengisian item combobix dengan methods additem. Jadi tidak >>> menggunakan properti rowsource alias listfillrange. >>> Blok proses pengisian item combobox dengan methods additem ini bisa >>> diletakkan disebuah prosedur tersendiri ataupun di event init milik si >>> userform (jika menggunakan userform). Lihat disini. > >>> ubah baris pengisian (yang ada bunyi additem-nya) agar berada dalam satu >>> blok pengkondisian (blok IF) yang memeriksa apakah item yang akan >>> ditambahkan berisi teks yang ditulis user atau tidak. > >>> sebelum blok for, tambahkan perintah hapus isi daftar combobox > > >Kira-kira bentuknya > > namanyacombobox.clear > > for blablabla > > if instr( nilai_yang_di_loop_for , teks_inputan_user , 1 ) <> 0 or >len(teks_inputan_user)=0 then > > baris yang ada additem nya > > endif > > next blabla > > >Langkah 2 : > >>> buat sebuah prosedur berscope private, misal diberi nama IsiCombo > > private sub isicombo() > > > end sub > > >>> cut baris dari event init userform mulai dari proses clear combobox sampai >>> next ke dalam prosedur IsiCombo > >>> di event init userform, pada baris bekas blok for yang di-cut tadi, isi >>> dengan perintah untuk panggil prosedur IsiCombo > > >Langkah 3 : > >>> pada module milik userform, buat variabel bertipe boolean untuk status >>> apakah proses change sedang berlangsung atau tidak, dengan scope private > > private bStatusChange as boolean > > >>> pada event init si userform, sebelum proses clear, isi nilai bStatusChange >>> dengan FALSE > > bStatusChange=false > >Langkah 4 : > >>> pada event change si combobox, > > setelah baris deklarasi variabel (jika ada), letakkan blok kondisi >pengubah informasi status change berikut : > > if bStatusChange then > > exit sub > > endif > bStatusChange =true > >>> panggil prosedur isicombo > > >>> pada event change si combobox, > > sebelum end sub atau sebelum baris perintah keluar dari prosedur, >tambahkan baris pengubah status change agar kembali ke normal, yaitu nilai >bStatusChange menjadi FALSE > > bStatusChange=false > >Kira-kira demikian alurnya.... silakan disesuaikan dengan keadaan setempat. > >Konsep : > >1. proses pengisian combobox didahului dengan clear isi daftarnya > >2. proses pengisian combobox dengan methods additem (isi satu per satu melalui >loop) > >3. proses pengisian combobox yang utuh tersebut diletakkan di sebuah prosedur >tersendiri > >4. proses init userform perlu memanggil proses pengisian combobox > >5. proses change terhadap combobox juga perlu memanggil proses pengisian >combobox > >6. karena proses 5 akan membuat proses yang circular, maka buat variabel >penyimpan status bahwa proses change combo sedang dilakukan (nilai TRUE), >sehingga ketika nilai TRUE harus segera keluar dari event change si combobox. >Proses circular bisa dicegah. > > >Selamat mencoba. > > >Wassalam, >Kid. > > > > > > > > >2014-12-12 17:57 GMT+11:00 ke2t [email protected] [belajar-excel] ><[email protected]>: > > > >Sore.. > >Saya coba buat macro dengan combo box. Apakah bisa seperti data terlampir, >jika saya ketikkan "makan" dalam ComboBox1, maka akan otomatis muncul 4 >suggestion drop down kebawah: >- besok kamu mau makan apa >- makan sama apa ya >- pokoke makan aja deh >- makan nasi goreng deh >Karena kata "makan" adalah kata kucinya. Dan terakhir akan dieksekusi dengan >pilihan click kita pilih text yg mana. > >Tks atas bantuannya. >Keket Ijo > > > ><!-- #ygrp-mkp { border: 1px solid #d8d8d8; font-family: Arial; margin: 10px >0; padding: 0 10px; } #ygrp-mkp hr { border: 1px solid #d8d8d8; } #ygrp-mkp >#hd { color: #628c2a; font-size: 85%; font-weight: 700; line-height: 122%; >margin: 10px 0; } #ygrp-mkp #ads { margin-bottom: 10px; } #ygrp-mkp .ad { >padding: 0 0; } #ygrp-mkp .ad p { margin: 0; } #ygrp-mkp .ad a { color: >#0000ff; text-decoration: none; } #ygrp-sponsor #ygrp-lc { font-family: Arial; >} #ygrp-sponsor #ygrp-lc #hd { margin: 10px 0px; font-weight: 700; font-size: >78%; line-height: 122%; } #ygrp-sponsor #ygrp-lc .ad { margin-bottom: 10px; >padding: 0 0; } #actions { font-family: Verdana; font-size: 11px; padding: >10px 0; } #activity { background-color: #e0ecee; float: left; font-family: >Verdana; font-size: 10px; padding: 10px; } #activity span { font-weight: 700; >} #activity span:first-child { text-transform: uppercase; } #activity span a { >color: #5085b6; text-decoration: none; } #activity span span { color: #ff7900; >} #activity span .underline { text-decoration: underline; } .attach { clear: >both; display: table; font-family: Arial; font-size: 12px; padding: 10px 0; >width: 400px; } .attach div a { text-decoration: none; } .attach img { border: >none; padding-right: 5px; } .attach label { display: block; margin-bottom: >5px; } .attach label a { text-decoration: none; } blockquote { margin: 0 0 0 >4px; } .bold { font-family: Arial; font-size: 13px; font-weight: 700; } .bold >a { text-decoration: none; } dd.last p a { font-family: Verdana; font-weight: >700; } dd.last p span { margin-right: 10px; font-family: Verdana; font-weight: >700; } dd.last p span.yshortcuts { margin-right: 0; } div.attach-table div div >a { text-decoration: none; } div.attach-table { width: 400px; } div.file-title >a, div.file-title a:active, div.file-title a:hover, div.file-title a:visited { >text-decoration: none; } div.photo-title a, div.photo-title a:active, >div.photo-title a:hover, div.photo-title a:visited { text-decoration: none; } >div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts { font-family: Verdana; >font-size: 10px; font-weight: normal; } .green { color: #628c2a; } .MsoNormal >{ margin: 0 0 0 0; } o { font-size: 0; } #photos div { float: left; width: >72px; } #photos div div { border: 1px solid #666666; height: 62px; overflow: >hidden; width: 62px; } #photos div label { color: #666666; font-size: 10px; >overflow: hidden; text-align: center; white-space: nowrap; width: 64px; } >#reco-category { font-size: 77%; } #reco-desc { font-size: 77%; } .replbq { >margin: 4px; } #ygrp-actbar div a:first-child { /* border-right: 0px solid >#000;*/ margin-right: 2px; padding-right: 5px; } #ygrp-mlmsg { font-size: >13px; font-family: Arial, helvetica,clean, sans-serif; *font-size: small; >*font: x-small; } #ygrp-mlmsg table { font-size: inherit; font: 100%; } >#ygrp-mlmsg select, input, textarea { font: 99% Arial, Helvetica, clean, >sans-serif; } #ygrp-mlmsg pre, code { font:115% monospace; *font-size:100%; } >#ygrp-mlmsg * { line-height: 1.22em; } #ygrp-mlmsg #logo { padding-bottom: >10px; } #ygrp-msg p a { font-family: Verdana; } #ygrp-msg p#attach-count span >{ color: #1E66AE; font-weight: 700; } #ygrp-reco #reco-head { color: #ff7900; >font-weight: 700; } #ygrp-reco { margin-bottom: 20px; padding: 0px; } >#ygrp-sponsor #ov li a { font-size: 130%; text-decoration: none; } >#ygrp-sponsor #ov li { font-size: 77%; list-style-type: square; padding: 6px >0; } #ygrp-sponsor #ov ul { margin: 0; padding: 0 0 0 8px; } #ygrp-text { >font-family: Georgia; } #ygrp-text p { margin: 0 0 1em 0; } #ygrp-text tt { >font-size: 120%; } #ygrp-vital ul li:last-child { border-right: none >!important; } -->
Pilih.xlsm
Description: MS-Excel spreadsheet

