Oh sudah di Unprotect sheet nya ya... Kalau sudah di-Unprotect, maka semua cells bisa diakses dan di edit jika ada dalam area scroll. Area scroll bisa dilihat di VBE (ALT F11) -> object sheet terkait di VBProject Explorer -> properti ScrollArea di window properties (kalau tidak tampak adanya window properties, tekan F4. Lalu cari properti ScrollArea).
Jika properti ini dikosongkan, maka seluruh cells bisa di-scroll, yang kemudian tampak bagi user semua cells bisa di klik. Wassalamu'alaikum wr wb Kid 2015-08-10 9:33 GMT+07:00 'Subroto, Matzen' [email protected] [belajar-excel] <[email protected]>: > > > Mr. Kid > > > > Saya sudah coba untuk unprotect sheet, akan tetapi yang unlocked tetap > yang cell yang warna hijau, sedangkan yang bisa edit hanya beberapa cell > dan yang lain tetap terprotect > > > > Wassalamu alaikum wr. Wb. > > > > Matzen > > > > *From:* [email protected] [mailto: > [email protected]] > *Sent:* 10 Agustus 2015 9:25 > > *To:* BeExcel > *Subject:* Re: [belajar-excel] Mencegah data ganda > > > > > > Wa'alaikumussalam wr wb > > Pak Matzen, > > Sheet di protect melalui ribbon Review -> group Changes -> Protect Sheet > tanpa password. Jadi, bisa di-unprotect dengan ribbon Review -> group > Changes -> UnProtect Sheet. > > Cells berwarna hijau yang menjadi area inputan oleh user tidak di-proteksi > (tidak ada proteksi cells nya), sedangkan selain itu diproteksi cellsnya. > Proteksi cells berlaku jika worksheet diproteksi. Cara memproteksi cells > adalah dengan mengatur properti Locked dari cells yang akan tidak > diproteksi, karena secara default, semua cells dalam Excel akan dalam > keadaan terproteksi. > > Jadi, cells yang berwarna hijau dilepas proteksi cells nya dengan cara : > > klik kanan cells berwarna hijau -> Format Cells -> tab Protection -> > hilangkan centang dari opsi Locked -> OK. > > Dengan demikian, ketika sheet diproteksi dengan ribbon Review -> group > Changes -> Protect Sheet -> lalu dipilih agar yang tercentang hanya opsi > Select Unprotected cells -> lalu OK (bila perlu isi password), maka cells > berwarna hijau masih bisa diakses user karena tidak terproteksi cells nya > (properti Locked sudah di FALSE alias dihilangkan centangnya tadi). > > Wassalamu'alaikum wr wb > > Kid > > > > > > > > > > 2015-08-10 7:50 GMT+07:00 'Subroto, Matzen' [email protected] > [belajar-excel] <[email protected]>: > > > > Hi Mr. Kid > > > > Assalamu alaikum, Mr. Kid > > > > mohon pencerahannya perihal protectsheet dalam file ini > > > > Wa alaikum salam > > > > > > Terima kasih atas perhatian dan kerjasamanya, dan saya mohon maaf apabila > ada kata-kata yang kurang berkenan > > > > > > *Terima Kasih* > > > > *Matzen* > > > > > > > > > > > > *From:* [email protected] [mailto: > [email protected]] > *Sent:* 10 Agustus 2015 2:46 > *To:* BeExcel > *Subject:* Re: [belajar-excel] Mencegah data ganda [1 Attachment] > > > > > > Hai Danny, > > 1. Bagaimana caranya mencegah data ganda dalam userform dengan jumlah 35 > textbox? Contoh : > > - jika semua data sama (semua textbox) , maka ada pesan = data masih sama. > > - jika ada satu atau dua (textbox) yang berubah, maka ada pesan = textbox > 1 dan 21 selesai diubah. > > >> Jadi, apa maksud Anda dengan 'data ganda' ? > > >> Contoh yang Anda berikan adalah tentang penyusunan pesan tentang > textbox-textbox yang mengalami pengubahan nilai. > > >> Pesan bisa disusun dalam proses simpan, yaitu sebelum penulisan nilai > textbox ke suatu cell. > > >> Kira-kira susunannya begini : > > dim sMsg as string > > if cdbl(textbox1.text)<>sheets("bunga").range("i5").value then > > smsg=smsg & ", Textbox1" > > endif > > if cdbl(textbox2.text)<>sheets("bunga").range("i6").value then > > smsg=smsg & ", Textbox2" > > endif > > dst sampai textbox35, > kemudian diikuti dengan proses penulisan nilai setiap textbox ke range > terkait, seperti : > > sheets("bunga").range("i5").value=textbox1.text > > dst > > > > lalu ditutup dengan penampilan pesan : > > if lenb(smsg)<>0 then > > msgbox "Textbox yang berubah adalah :" & vbcrlf & > mid(smsg,3),vbinformation,"judul pesan" > > else > > msgbox "Semua data masih sama.",vbinformation,"judul pesan" > > endif > > >> Berhubung ada 35 textbox, maka bisa jadi baris kodenya akan ada banyak > sekali. > >> Selain itu, menampilkan pesan dengan MsgBox terbatasi sebanyak 1024 > karakter. Jadi, jika pesannya lebih dari 1024 karakter, sebaiknya dibuat > sebuah userform berisi sebuah textbox pesan atau label pesan untuk > menampilkan bunyi pesannya. > > > > -------------------------- > > 2. Dalam kode textbox, saya mengisi agar tidak bisa diisi selain angka. > Tetapi dalam kondisi lain, saya ingin mengisi angka dengan menggunakan koma > atau titik (contoh = 7,5 atau 7.5). Kode apa yang bisa digunakan untuk > melakukan hal itu? > > >> Textbox memiliki event bernama KeyPress atau KeyDown yang bisa > digunakan untuk hal ini. > > >> Event KeyPress akan menggunakan kode ASCII karakter yang di-input user. > Event KeyDown akan menggunakan kode keyboard yang ditekan oleh user. > > >> VB/VBA menggunakan karakter titik sebagai tanda desimal pada regional > setting apapun. > > >> kode ASCII karakter titik adalah 46, kode keyboard karakter titik > adalah 190 pada shift bernilai 0 > > >> kode ASCII angka 0 sampai 9 adalah 48 sampai 57, dengan kode keyboard > angka 0 sampai angka 9 adalah sama, yaitu 48 sampai 57. > > >> Jika menggunakan event keypress : > > select case keyascii > > case 48 to 57, 46 'angka 0 sampai angka 9, karakter titik > > 'do nothing > > case else > > keyascii=0 > > end select > > >> Jika menggunakan event keydown : > > shift=0 > select case keycode > > case 48 to 57, 190 'keyboard untuk angka 0 sampai angka 9, keyboard > untuk karakter titik (ingat, pada shift tidak tertekan alias 0) > > 'do nothing > > case else > > keycode=0 > > end select > > ------------------------ > > Pada kasus ini, penggunaan textbox yang banyak bisa digantikan dengan > control datagrid, tetapi tampaknya kurang luwes bagi pengguna Excel. Jadi, > penggunaan textbox yang banyak masih bisa dimaklumi jika memang dituntut > harus bisa menampilkan seluruh nilai secara individual agar memudahkan > dalam proses input karena bisa membandingkan nilai di bagian lain. > > > > Penggunan banyak control yang memiliki fungsional yang sama (misal pada > kasus ini sebagai media input nilai bunga, meski dari berbagai kriteria), > bisa disederhanakan dengan penyusunan class module berisi prosedur event > dari si control (misal textbox pada kasus ini). Dengan demikian, 1 (satu) > prosedur event tertentu bisa digunakan bersama oleh seluruh controls yang > secara fungsional adalah sama tersebut. > > > > Bahkan, dengan cara tersebut akan bisa dikembangkan lebih jauh. > > File terlampir adalah contoh dari banyak textbox yang cukup menggunakan 1 > (satu) prosedur event tertentu. Seperti event keypress dari 35 textbox yang > ada cukup dengan 1 (satu) prosedur event keypress di class module. Begitu > juga untuk event change dari 35 textbox yang ada cukup dengan 1 (satu) > prosedur event change di class module. > > Wassalam, > > Kid > > > > > > 2015-08-06 19:07 GMT+07:00 Danny Prasetyo [email protected] > [belajar-excel] <[email protected]>: > > > > Selamat malam para master. Saya ada 2 kendala. > > 1. Bagaimana caranya mencegah data ganda dalam userform dengan jumlah 35 > textbox? Contoh : > > - jika semua data sama (semua textbox) , maka ada pesan = data masih sama. > > - jika ada satu atau dua (textbox) yang berubah, maka ada pesan = textbox > 1 dan 21 selesai diubah. > > 2. Dalam kode textbox, saya mengisi agar tidak bisa diisi selain angka. > Tetapi dalam kondisi lain, saya ingin mengisi angka dengan menggunakan koma > atau titik (contoh = 7,5 atau 7.5). Kode apa yang bisa digunakan untuk > melakukan hal itu? > > > > Terima kasih jika bersedia membantu. > > > > > > ____________________________________________________________________________ > This email has been scanned for Viruses and Spam. For more information > please contact your local Business Unit Information Security > representative. > > ____________________________________________________________________________ > > > > > > ____________________________________________________________________________ > This email has been scanned for Viruses and Spam. For more information > please contact your local Business Unit Information Security > representative. > > ____________________________________________________________________________ > > >

