Hai Odhy,

1. Tentang combobox berjenjang dengan sumber data yang sudah dibuatkan nama
range.
> Coba disempatkan melihat coretan tentang combobox yang dimulai dari sini
<http://b-excel.blogspot.co.id/2014/02/belajarvba-102-combobox-01.html>.
> Pada name manager, ada 3 nama range yang akan dijadikan isi combobox1,
berdasar isian di combobox2.
> Nama range tersebut diawali teks 'Area_' diikuti teks pilihan di combobox2
> User memilih combobox2 lebih dulu, lalu daftar dalam combobox1
menyesuaikan sesuai pilihan user di combobox2.

A. Nama range yang diawali 'Area_' hanya berisi 1 kolom
    > ini satu kerugian karena combobox maupun listbox mampu menerima
banyak kolom.
    > jadi, ubah formula refers to dari setiap nama range dengan awalan
'Area_' agar melingkupi 4 kolom dan baris yang tepat.
    > contoh untuk nama range Area_DPS memiliki isi formula refers to :
            =OFFSET(dbase!$F$2,1,0,COUNTA(dbase!$F:$F)-2,4)

B. jika combobox2 diganti pilihannya, maka combobox1 berubah daftar
pilihannya
    > artinya, combobox2 event change (combobox2 berubah nilai nya) diisi
dengan baris perintah untuk mengisi daftar pilihan di combobox1.
    > begini bunyinya :
             combobox1.listindex= -1       'kosongkan nilai di combobox1
             if combobox2.listindex<>-1 then   'combobox2 ada item yang
dipilih
                         combobox1.rowsource= "Area_" &
combobox2.text            'sumber data untuk daftar pilihan ditentukan baru
             else

combobox1.rowsource=vbnullstring
'daftar pilihan dikosongkan (tanpa sumber data apapun)
             endif

C. jika combobox1 diganti pilihannya oleh user, maka textbox9,10,11
berurutan sama dengan urutan kolom sumber data pilihan combobox1
           dim lidx as long        'variabel indeks yang dipilih user di
combobox1
           lidx=combobox1.listindex         'simpan nilai indeks yang
dipilih user di combobox1
           if lidx<>-1 then              'user memilih salah satu item di
combobox1, maka isi textbox9,10,11 berdasar nomor kolom, yaitu kolom 2,3,4
dari sumber data
                  with range( combobox.rowsource ).resize(1).offset( lidx )
     'pada area range sumber data pilihan combobox1, 1 baris saja, lompat
lidx baris
                          textbox9.text=.cells(1,2).text       'ambil kolom
ke-2 range sumber data
                          textbox10.text=.cells(1,3).text       'ambil
kolom ke-2 range sumber data
                          textbox11.text=.cells(1,4).text       'ambil
kolom ke-2 range sumber data
                  end with
           else    'user tidak memilih apapun, maka kosongkan textbox9,10,11
                  textbox9.text=vbnullstring
                  textbox10.text=vbnullstring
                  textbox11.text=vbnullstring
           endif

Untuk urusan menulis ke tabel penyimpanannya, silakan disusun sendiri ya...


2. set nilai awal calendar control (properti bernama value)
> calendar control ada di userform2 dengan nama control MonthView1
> calendar control dipanggil ketika userform1 control bernama
CommandButton4 di klik.
> artinya, event click dari control bernama CommandButton4 diisi proses
mengaktifkan userform2.
             userform2.show         'begini bukan ?
> ketika userform2 sudah di-load (sebelum ditampilkan kepada user, alias
masih di-memory komputer -> disebut event initialize),
   dilakukan pengaturan nilai calendar control.
> buat event initialize di userform2 lalu isi dengan :
           monthview1.value=now

kalau monthview1 diklik (pilih salah satu tanggal), maka nilai tanggal akan
ditulis ke userform1 control textbox13
     > berarti, kalau userform1 control textbox13 sudah berisi tanggal
hasil pilihan sebelumnya, maka nilai dasar monthview bukan hari ini,
        tetapi di tanggal yang ada di textbox13 userform1
    > artinya, baris perintah
                monthview1.value=now
       di event initialize userform2 di atas harus diubah menjadi :
       if len( userform1.textbox13.text ) <> 0 then      'textbox13 di
userform1 gak kosong
              if isdate( userform1.textbox13.text ) then       'textbox13
di userform1 berisi suatu nilai yang dapat diubah jadi bertipe date
                    monthview1.value=cdate( userform1.textbox13.text
)        'monthview1 diisi nilai bertipe date dari textbox13 di userform1
              else    'textbox13 di userform1 berisi nilai, tetapi gak bisa
diubah jadi bertipe date
                    monthview1.value=now       'jadikan nilai waktu saat
ini sebagai nilai awal monthview1
              endif
       else    'textbox13 di userform1 kosong
               monthview1.value=now    'jadikan nilai waktu saat ini
sebagai nilai awal monthview1
       endif

Regards,
Kid









2017-09-18 13:50 GMT+07:00 Odhy [email protected] [belajar-excel] <
[email protected]>:

>
>
> Dear Master,
> Mohon bantuannya...
> 1. bagaimana caranya agar saya bisa menggambil data di table nama
> berdasarkan listbox.
> 2. bagimana merubah setting form kalender agar update bulan saat ini.
> untuk lebih jelas penjelasaanya saya lampirkan filenya....
>
> atas bantuannya saya ucapkan banyak terima kasih.
>
> Odhy.
>
>
> 
>

Kirim email ke