Quantcast

Menampilkan data di List BOX

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Menampilkan data di List BOX

sapicumi
Selamat siang para master-master excel sekalian saya sedang membuat suatu form dan mendapat kesulitan kiranya para master ada solusi buat saya trima kasih.

-adapun masalah saya sudah terlampir di file di atcch ini
LISTBOX.xlsm

mohon kiranya para master dapat membantu saya memecahkan kebuntuan saya

trimakasih

Jojo
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [belajar-excel] Menampilkan data di List BOX

abeutthank
zaya hanya biza kazi file contah dr alm. mba ziti.
mungkin ada member laen biza kazi penjelazannya

ctv_Contoh Program input data (Simple Version).xls (107K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [belajar-excel] Menampilkan data di List BOX

abeutthank
o iya zekalian ini ada y agak banyak. maep kalo mazalah makro zaya ampun
deh. hanya biza kazi file contoh dari alm. maha guru

ctv_Contoh_Entry_Data.zip (264K) Download Attachment
Kid
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [belajar-excel] Menampilkan data di List BOX

Kid
Administrator
In reply to this post by sapicumi
Hai Jojo,

Coba file terlampir.

Wassalam,
Kid.

2012/9/22 sapicumi <[hidden email]>

> **
>
>
> Selamat siang para master-master excel sekalian saya sedang membuat suatu
> form dan mendapat kesulitan kiranya para master ada solusi buat saya trima
> kasih.
>
> -adapun masalah saya sudah terlampir di file di atcch ini
> LISTBOX.xlsm
> <
> http://milis-belajar-excel.1048464.n5.nabble.com/file/n5712002/LISTBOX.xlsm>
>
>
> mohon kiranya para master dapat membantu saya memecahkan kebuntuan saya
>
> trimakasih
>
> Jojo
>
> --
> View this message in context:
> http://milis-belajar-excel.1048464.n5.nabble.com/Menampilkan-data-di-List-BOX-tp5712002.html
> Sent from the Milis Belajar Excel mailing list archive at Nabble.com.
>  
>
>

re-LISTBOX.xlsm (71K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [belajar-excel] Menampilkan data di List BOX

sapicumi
In reply to this post by abeutthank
buat  abeutthank terimakasih atas referensi yang di berikan sangat berguna sekali terimakasih om
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [belajar-excel] Menampilkan data di List BOX

sapicumi
In reply to this post by Kid
sore mr Kid
saya sudah mencoba file dari mr Kid.
disitu Mr menuliskan input harus unique maksutnya data yg diinput di sheet 2 nntnya tidak boleh sama berdasarkan nama (apakah seperti itu?). kl memang seperti itu saya setelah membuka file di Mr kid namun setelah saya coba berkali- kali dengan rumus seperti ini ;

Sub Simpan()
Dim namaada As String
Dim nama As String

nama = Range("C3").Value
namaada = Sheets("tbllaporan").Columns("A:A")
If nama = namaada Then
    MsgBox "NAMA SUDAH TERDAFTAR", vbInformation, "Info"
    Else
    End If
End Sub
tp kenapa ada muncul eror type missmatch ya mr kid ada pencerahan mungkin om
Kid
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [belajar-excel] Menampilkan data di List BOX

Kid
Administrator
met petang mas Jojo,  (biar sampeyan rumangsa awet muda)

Jadi sekarang mulai mencoba mengembangkannya. Yang Anda pilih adalah :
>> Pengembangan pertama adalah melengkapi validasi sesuai karakteristik
data.
Menurut Anda, data harus unique berdasar Nama.

Dari script yang dicopas : (khusus bagian)
Dim namaada As *String*
 Dim nama As String

nama = Range("C3").Value
namaada = *Sheets("tbllaporan").Columns("A:A")*

Bagian yang *dimerah *:
>> pada sisi deklarasi (Dim bla-bla), variabel namaada dideklarasi sebagai
variabel bertipe string yang hanya bisa berisi sebuah nilai teks
>> pada sisi set nilai kedalam variabel (namaada=blabla), variabel namaada
akan diisi dengan banyak nilai, yaitu semua nilai di kolom A pada sheet
tertentu
-> dari sini sudah tampak hal yang tidak mungkin dilakukan. Sebuah kotak
akan diisi dengan muatan dari banyak kotak seukuran yang berisi penuh
seluruhnya.

btw,
Inti persoalan yang diinginkan adalah
1. bisa mendapatkan daftar nama dari sheet tbllaporan.
2. Kemudian, data nama yang diinput user, akan dicek keberadaannya pada
daftar nama tersebut.
3. Jika ternyata sudah ada, maka proses harus batal sembari memberi pesan
penyebab pembatalan.
4. Jika ternyata belum ada, maka proses boleh berlanjut.

Penulisan secara detil seperti nomor 1 sampai 4 seperti di atas, akan
memudahkan penyusunan algoritmanya. Hal seperti ini sangat membosankan dan
seperti kurang kerjaan. Ya memang demikianlah salah satu cara mudah
menyusun algoritma.
Mari kita coba.
1. bisa mendapatkan daftar nama dari sheet tbllaporan.
>> daftar nama itu disimpan dalam suatu range. jadi, dibutuhkan wadah
bertipe range juga
     Dim rngDataNama as range
>> daftar nama itu ada di sheet bernama tbllaporan di kolom A. Tabel disana
selalu rapat tidak ada baris kosong
     Set rngDataNama = sheets("tbllaporan").range("a1").currentregion.*
resize(,**1)*
     bahasa manusianya :
     "Isi variabel range rngDataNama dengan data range yang ada di sheet
tbllaporan pada range A1-nya yang diperluas pada satu region (area
bersinggungan),
      tapi cukup diambil seluas apa adanya baris [*resize(,*] dan 1 kolom
saja [*1)*]
>> asiiik udah dapet daftar namanya [?]

2. Kemudian, data nama yang diinput user, akan dicek keberadaannya pada
daftar nama tersebut.
>> data nama yang diinput user
     dim nama as string
>> ambil data nama yang diinput user (di sheet aktif pada range c3)
     nama=range("c3").value
>> aha... nama dari user sudah didapatkan juga  [?]
>> sekarang mau cek *setiap *nama di daftar nama, ada yang sama atau tidak
dengan nama dari user.
-> untuk hal ini berarti butuh loop (perulangan proses) mulai dari baca
nama pertama dalam daftar sampai nama terakhir dalam daftar
-> karena loop akan diproses berdasar data dalam rngDataNama yang bertipe
range,
-> maka dibuat juga variabel range untuk menyimpan range yang sedang
diproses
    dim rng as range
-> setelah itu baru mulai menyusun loop nya berbasis setiap range dalam
range datanama
    For Each  rng in  rngDataNama
         'disini mestinya ada proses ceknya
     next rng
-> sekarang fokus ke proses ceknya yang akan diletakkan dalam blok For Each
Next tadi
-> bunyi ceknya : *kalau *nama dari user (variabel *nama*) bernilai *sama
dengan* *isinya *range yang sedang diproses (*rng*) *maka *lakukan sesuatu
     if nama = *rng*.*value *then
           'kalau sama terus ngapain dong
     endif
>> [?]  akhirnya bisa selesai proses ceknya, tinggal memikirkan mau ngapain
dengan hasil cek itu

3. Jika ternyata sudah ada, maka proses harus batal sembari memberi pesan
penyebab pembatalan.
>> oh.. ternyata jika sudah ada, maka harus membatalkan semua proses
sembari memberi pesan.
>> jadi bagian 'kalau sama terus ngapain dong harus diganti dengan *memberi
pesan lebih dulu*, *baru keluar dari proses*
     msgbox "Nama sudah ada",vbcritical,"Just Inpo ajah :P "
     exit sub

4. Jika ternyata belum ada, maka proses boleh berlanjut.
>> ya sudah biarkan saja prosesnya, nantikan kalau selesai juga lanjut ke
tahap berikutnya

*Jika dikumpulkan semua baris kode dari nomor 1 sampai 4, jadinya :*
Dim rngDataNama as range
Set rngDataNama = sheets("tbllaporan").range("a1").currentregion.*resize(,**
1)*

dim nama as string
nama=range("c3").value

dim rng as range
For Each  rng in  rngDataNama
         'disini mestinya ada proses ceknya
         if nama = *rng*.*value *then
               'kalau sama terus ngapain dong
               msgbox "Nama sudah ada",vbcritical,"Just Inpo ajah :P "
               exit sub
         endif
next rng

Supaya lebih bagus dan rapi, dikumpul-kumpulkan jadi seperti berikut :
Dim rngDataNama as range
dim nama as string
dim rng as range

Set rngDataNama = sheets("tbllaporan").range("a1").currentregion.*resize(,**
1)*
nama=range("c3").value

For Each  rng in  rngDataNama
         'disini mestinya ada proses ceknya
         if nama = *rng*.*value *then
               'kalau sama terus ngapain dong
               msgbox "Nama sudah ada",vbcritical,"Just Inpo ajah :P "
               exit sub
         endif
next rng

Cara di atas, bisa diterapkan sendiri kedalam prosedur.
Bagaimana jika dicoba untuk memanfaatkan cara lain ?
>> Nama inputan user dinyatakan sudah ada jika jumlah cacahnya di daftar
nama bukan nol
Bahasa di atas, jika dituangkan dalam formula Excel menjadi :
     =CountIF(  *range_namanya* ,  *nama_inputan_usernya*   )  <>  0
*    range_namanya* adalah *tbllaporan!$A:$A*
*    nama_inputan_usernya *adalah *$C$3*
jadi susunannya :
   =CountIF( *tbllaporan!$A:$A* ,  *$C$3*   )  <>  0
Karena hasil countif minimal 0 (artinya ndak ada) dan >0 (artinya ada
sekian item disana) maka hanya berbekal formula :
    =CountIF( *tbllaporan!$A:$A* ,  *$C$3*   )
sudah bisa didapatkan statusnya si nama dari inputan user ada atau tidak di
daftar nama

Katanya, biar keren (gak tahu katanya siapa), semua formula langsung
dikalkulasi pakai VBA aja...
kalau gitu butuh fungsi Evaluate
maka di VBA bisa ditulis :
     *Evaluate("*=CountIF( *tbllaporan!$A:$A* ,  *$C$3*   )*")*

Jadi, proses cek juga bisa disusun dengan cara :
   IF *Evaluate("*=CountIF( *tbllaporan!$A:$A* ,  *$C$3*   )*")*  > 0 Then
       msgbox "Nama sudah ada",vbcritical,"Just Inpo ajah :P "
       exit sub
   endif
tapi gak perlu proses dim maupun loop seperti cara di atas tadi...

malem minggu kok ya malah ndongeng ya...

Wassalam,
Kid.



2012/9/22 sapicumi <[hidden email]>

> **
>
>
> sore mr Kid
> saya sudah mencoba file dari mr Kid.
> disitu Mr menuliskan input harus unique maksutnya data yg diinput di sheet
> 2
> nntnya tidak boleh sama berdasarkan nama (apakah seperti itu?). kl memang
> seperti itu saya setelah membuka file di Mr kid namun setelah saya coba
> berkali- kali dengan rumus seperti ini ;
>
> Sub Simpan()
> Dim namaada As String
> Dim nama As String
>
> nama = Range("C3").Value
> namaada = Sheets("tbllaporan").Columns("A:A")
> If nama = namaada Then
> MsgBox "NAMA SUDAH TERDAFTAR", vbInformation, "Info"
> Else
> End If
> End Sub
> tp kenapa ada muncul eror type missmatch ya mr kid ada pencerahan mungkin
> om
>
> --
> View this message in context:
> http://milis-belajar-excel.1048464.n5.nabble.com/Menampilkan-data-di-List-BOX-tp5712002p5712015.html
>
> Sent from the Milis Belajar Excel mailing list archive at Nabble.com.
>
>  
>

B9E.gif (332 bytes) Download Attachment
33E.gif (1K) Download Attachment
re-LISTBOX_r1.xlsm (73K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [belajar-excel] Menampilkan data di List BOX

sapicumi
mang masih mudaah om kid (merasa muda maksutnya)
 owalaah jadi letak kesalahan saya yg pertama ada di deklarasi si namaada harus nya range bukan string begitu kah.pemaparan dari mr kid sangat rinci saya jadi suka membacanya dan memahami nya yang seharusny
namaada = sheets("tbllaporan").range("A:A") (apakah bisa juga memakai seperti itu?) tp memang ada kelemahanya kl saya liat ya om kid.oke deh kl gitu om saya coba pahami dulu dari perincian om kid diatas semaangaaat saya kl jelasinya kek gini detiil abiiis

makasih om kid

jojo
Loading...