terima kasih atas bantuan master ki semprul. mohon maaf baru sempat cek email. sedikit sedikit saya coba dulu dan pelajari kode yang ki semprul kasih. apabila masih menemukan kesulitan mohon kiranya master ki semprul masih berkenan membantu
terima kasih --- In [email protected], Ki Semprul <semprul.ki@...> wrote: > > '== module Userform1 == > [image: Inline image 1] > Dim i As Integer, Namas As Range, EntryRange As Range > ' vba code rakitan Ki Semprul, 18 Feb 2012 > ' untuk milis BeExcel - kasus No. 15841 > ' http://tech.groups.yahoo.com/group/belajar-excel/message/15841 > > Private Sub UserForm_Initialize() > '-- mengisi Combox BULAN > CboBulan.Clear > For i = 1 To 12 > CboBulan.AddItem WorksheetFunction.Text(28 * i, "[$-421]MMMM") > Next > '-- mengisi 10 buah Combox Nama > Dim Ctrl As Object > Set Namas = Sheets("NAMA").Cells(1).CurrentRegion > For Each Ctrl In Me.Controls > If Ctrl.Name Like "CboNama*" Then > Ctrl.Clear > For i = 1 To Namas.Rows.Count > Ctrl.AddItem Namas(i, 1) > Next i > Ctrl.ListRows = Namas.Rows.Count > End If > Next Ctrl > End Sub > > Private Sub CboBulan_AfterUpdate() > ' mengisi daftar angka tgl sesuai umur bulan > ' yg terpilih pada cboBulan > '------------------------------------------- > ' Pemilihan BULAN menyebabkan worksheet senama DiAktifkan > Worksheets(CboBulan.Value).Activate > Dim TgAkir As Integer, tg As Integer > ' mencari Tgl akhir Bulan sesuai CboBulan > TgAkir = Day(DateSerial(Year(Date), CboBulan.ListIndex + 2, 0)) > ' mengganti items CboTgl sesuai Bulannya > CboTgl.Clear > For tg = 1 To TgAkir > CboTgl.AddItem tg > Next tg > CboTgl.ListRows = TgAkir > End Sub > > Private Sub CboTgl_Change() > ' menentukan Range dimana data akan di-entry > If CboTgl <> "" Then > Set EntryRange = ActiveSheet.Cells(2, CboTgl).Resize(10, 1) > EntryRange.Select > End If > End Sub > > Private Sub Cmd_Cek_Click() > ' vba code rakitan Ki Semprul, 18 Feb 2012 > ' untuk milis BeExcel - kasus No. 15841 > ' http://tech.groups.yahoo.com/group/belajar-excel/message/15841 > '---------------------------------------------------------------- > '== proses Jika Tombol CEK di ceKlik=== > Dim EntryList As String, BedaList As String, DatList(1 To 10) > Dim N As Integer, Cbox As Object > '-- warning& validasi Bulan & Tgl > If CboBulan.ListIndex = -1 Then > MsgBox "BULAN belum ditentukan !", 48 > CboBulan.SetFocus > Exit Sub > End If > If CboTgl.ListIndex = -1 Then > MsgBox "Tanggal belum ditentukan", 48 > CboTgl.SetFocus > Exit Sub > End If > ' menentukan Range dimana data akan di-entry > Set EntryRange = ActiveSheet.Cells(2, CboTgl).Resize(10, 1) > EntryRange.Select > ' membuat daftar isi data di entryRange, jika ada > If WorksheetFunction.CountA(EntryRange) > 0 Then > EntryList = "|" > For i = 1 To 10 > If Not EntryRange(i, 1) = vbNullString Then > EntryList = EntryList & EntryRange(i, 1) & "|" > End If > Next i > End If > ' membuat daftar isi CboNama > For i = 1 To 10 > Set Cbox = Controls("CboNama" & Format(i, "00")) > If Cbox.ListIndex >= 0 Then > DatList(i) = Cbox.Value > ' dibandingkan dengan isi EntryRange > ' untuk membuat daftar yg SUDAH ada di EntryRange > If InStr(1, EntryList, "|" & Cbox.Value & "|", vbTextCompare) > 0 > Then > BedaList = BedaList & Cbox.Value & "," & vbCrLf > End If > End If > Next i > ' pesan jika EntriRange ada isinya, > If Len(BedaList) > 0 Then > MsgBox "Nama² berikut ini sudah ada di Tabel " & _ > CboBulan & " :" & vbCrLf & BedaList & vbCrLf & vbCrLf & _ > "Proses Entry dibatalkan.", 48 > ' pembatalan proses > Exit Sub > Else > ' Pesan Jika Entri bisa diproses .. > MsgBox "Area Entry masih kosong," & vbCrLf & _ > " Entry data segera dilakukan", 64 > For i = 1 To 10 > EntryRange(i, 1) = DatList(i) > Next i > End If > '-mengosongkan 10 CboBox Nama > For i = 1 To 10 > Set Cbox = Controls("CboNama" & Format(i, "00")) > Cbox.ListIndex = -1 > Next i > End Sub > > Private Sub Cmd_Close_Click() > ' Userform di-UnLoad.. > Unload Me > End Sub > > '-------------------------------- > > > > > *2012/2/18 winuaji rk <winuaji_rk@...> > > > > Yth master excel semua > > saya bermaksud membuat userform untuk input data seperti TERLAMPIR. > > BULAN merupakan combo box yang terdiri plihan JANUARI-DESEMBER yang > menentukan data masuk ke sheet yang mana. > > TANGGAL merupakan combo box yang berisi tanggal sesuai plihan BULAN > > NAMA terdiri dari 10 combo box dengan isi list yang sama sesuai dengan > list pada sheet NAMA. jika ada penambahan atau pengurangan Nama tinggal > edit sheet NAMA maka isi combo box NAMA juga berubah. 10 combo box nama ini > tidak harus diisi semua. jika kosong maka data yang diinput juga kosong. > > Command button CEK berfungsi melakukan cek apakah nama nama sudah dinput > pada tanggal dan bulan yang dipilih atau belum. jika belum pernah di input > sebelumnya, maka akan muncul MESSAGE BOX 'Apakah data mau disimpan?' > (YES/NO). Jika ada salah satu nama yang sudah pernah diinput, maka semua > data nama yang dipilih tidak akan disimpan dan muncul MESSAGE BOX nama nama > yang sudah pernah diinput (sebagai informasi kepada penginput) > > > > PROSESNYA : bulan dan tanggal di pilih, selanjutnya nama juga dipilih > (tidak harus diisi semua), maka nama nama yang di pilih akan diinput pada > kolom tanggal yang dipilih sesuai Bulannya. > > > > contoh : pada kolom 4 JANUARI sudah pernah diinput KELOMPOK nama > EKO,BUDI, ARYA. kemudian kita ingin menginput KELOMPOK nama EKO, ARYA, > ANDI, MEGA, HARDI. setelah KELOMPOK nama ini di masukkan ke userorm dan > klik CEK maka kelima nama tersebut tidak akan disimpan karena ada nama EKO > dan ARYA sudah pernah diinput. dan akan muncul MESSAGE BOX 'nama berikut > sudah ada : EKO, ARYA' > > > > mOHON PENCERAHANNYA KEPADA PARA MASTER SEKALIAN, karena saya newbie di > milis ini, jika ada topik yang mirip dengan kasus diatas bisa di > informaikan untuk saya pelajari > > > > Regards > > > > Winuaji* >

