thx atas pencerahan yg selama ini mengganggu tim data entry. semoga bermanfaat utk temen2 yg lain..
--- Pada Jum, 8/4/11, STDEV(i) <setiyowati.d...@gmail.com> menulis: Dari: STDEV(i) <setiyowati.d...@gmail.com> Judul: Re: [belajar-excel] Worksheet Tidak Bisa Ditutup Selama Data Belum Benar Kepada: belajar-excel@yahoogroups.com Tanggal: Jumat, 8 April, 2011, 5:51 PM anda sudah berusaha membuat dan saya kira sudah berada di jalan yg benaryaitu memanfatkan event workbook before close Event ini terjadi sesaat sebelum workbook ditutup oleh sebab apapun. Kalau anda perhatikan di situ ada Argument Cancel bertye data Boolean(yaitu data yg hanya bisa bermilai TRUE atau FALSE saja) variable Cancel ini jika anda isi = TRUE maka penutupan workbook di batalkan, sebaliknya jika anda isi dengan = FALSE maka penutupan workbook dibolehkan Jadi sesuai SYARAT yg anda ajukan, anda dapat mencbangkan dua keadaan dengan statement IF IF A2 lebih besar B2 workbook jangan ditutup ELSE workbook boleh ditutupEND IF lengkapnya seperti ini Private Sub Workbook_BeforeClose(Cancel As Boolean) With Sheets("Sheet2") If .Range("A2") > .Range("B2") Then MsgBox "Workbook ini tidak dapat ditutup" & vbCr & _ "karena cell A2 > B2 !", vbExclamation, ThisWorkbook.Name Cancel = True End If End With End Sub di situ tidak perlu diberikan pilihan ELSE (yaitu jika A2 <= B2), lalu apa yg harus terjadi. karena kalau dibiarkan maka Cancel dengan sendirinya tetap bernilai FALSEyg berarti workbook ditutup (karena memang ada perintah ditutup (Ingat: Event itu terjadi karena ada sesuatu yg meminta agar workbook ditutup.) Perlu diketahui bahwa di VBA, sebuah variable pada saat diciptakan / dideklarasikan sudah punya nilai default tertentu, sesuai type nya, yaitu: variable Bilangan (integer, long, double, single, date, dsb) nilai defaultnya = 0 (nol) variable Boolean / Logiccal : Falsevariable String : Empty (NullString) (sering digambarkan sbg : "" )variable Object : Nothing cmiiw... 2011/4/8 bagyo klaten <klaten.ba...@yahoo.co.id> > > salam excel > terkadang kita pengin menulis data dengan sempurna > terlampir contoh data, seharusnya B lebih besar dari A > > bagaimana caranya (dengan VBA) selama A masih lebih besar dari B > maka worksheet tersebut tidak bisa ditutup > > Demikian... mohon pencerahannya...