Hai Ayub,
Gimana kalau logikanya gak usah dibolak balik...
Biarkan logikanya tetap pada fitrahnya untuk mengikuti kebenaran saja...
kembali ke kasus...
Ada sebuah activex control bernama cmdSave di dalam worksheet 'Input1'
control ini bisa digunakan jika di sheets bernama 'Input1' cells A1 dan
cells g7 tidak kosong.
Jadi, keduanya harus terisi barulah si tombol cmdSave bisa digunakan.
Kalau salah satu dari A1 atau g7 adalah kosong, maka tombol cmdSave akan
TIDAK bisa digunakan.
Ada 2 cara yang umumnya dipakai, yaitu :
1. dalam event click milik cmdSave diberi proses validasi. Jika ada salah
satu cells (A1 atau g7) yang kosong, maka proses save dibatalkan alias
langsung keluar dari prosedur event clilck tersebut.
private sub cmdSave_Click()
if len(sheets("input1").range("a1").value)=0 or
len(sheets("input1").range("g7").value)=0 then
exit sub
endif
end sub
2. mengatur supaya si tombol cmdSave aktif (enable) atau TIDAK aktif
(disable) setiap kali ada proses pengubahan isi cells A1 atau g7.
>> artinya, pakai event change milik worksheet untuk memeriksa hasil
pengubahan isi di A1 atau g7 saja.
>> kalau di cells itu terisi semua, maka cmdSave diset enable, kalau
ada yang kosong, maka cmdSave diset disable.
>> men-disable adalah mengatur nilai properti Enable milik si cmdSave
dengan FALSE
private sub worksheet_change(byval target as range) 'blok ini dibuat
dengan memilih event worsheet bernama change, bukan diketik
cmdsave.enable=( len( range("a1").value ) * len(
range("g7").value ) > 0 )
end sub
Kayanya gitu sih...
Regards,
Kid
2016-05-18 0:50 GMT+07:00 Ayub Barin [email protected] [belajar-excel] <
[email protected]>:
>
>
> Salam.Hormat dan Salut Mr.Kid
>
> Saya coba membalik logika nya dengan supaya tombol simpannya aktif kembali
> apabila len isi cellnya nol ...ternyata saya tidak berhasil :D
>
> Demikian Mr.Kid
> Pada tanggal 18 Mei 2016 01.28, "Ayub Barin" <[email protected]>
> menulis:
>
>> Salam Hormat dan Salut Mr.Kid
>>
>> Terima Kasih BERHASIL dan sesuai harapan, "uang dibagi akan berkurang
>> tapi ilmu yang dibagi akan bertambah" malah jadi ibadah..., terima kasih
>> saya cuma pakai ini :
>>
>> private sub workbook_beforesave(byval saveasui as boolean,cancel as
>> boolean)
>>
>> if len(sheets("data").range("L10").value)>0 then
>> cancel=true
>>
>> endif
>>
>> end sub
>>
>> Salam Hormat dan Salut
>> TERIMA KASIH
>>
>
>