ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   How to make it work for "WHOLE" workbook (https://www.excelbanter.com/excel-programming/426487-re-how-make-work-whole-workbook.html)

test[_3_]

How to make it work for "WHOLE" workbook
 
On Apr 4, 2:35*pm, test wrote:
On Apr 3, 9:16*pm, jasontferrell wrote:

Use this one also, and add the same code to this subroutine.


Private Sub Workbook_BeforeClose(Cancel As Boolean)


Thanks alot Jason. That works.


One more help. Below is an extract from my requirement. The code seems
to be working fine but I do not want the below code to run if the
column E value is NULL (Blank). This should be a exceptional case
where the code should skip blank values in column E. Can you please
advise what could be changed in the below code to reflect this.

Let me know if any more information is needed from my side. I am
currently using excel 2003

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Dim MySheet As String, lastrow As Long
MySheet = "Sheet1"
lastrow = Sheets(MySheet).Cells(Cells.Rows.Count, "A").End(xlUp).Row
Set MyRange = Sheets(MySheet).Range("E4:E" & lastrow)
For Each c In MyRange
Select Case UCase(c)
Case "FAIL", "OTHER"
If c.Offset(, 1).Value = "" Then
MsgBox "Invalid Comment at " & c.Offset(, 1).Address
Cancel = True
Exit For
End If
Case "SUCCESS"
If c.Offset(, 1).Value = "" Then
Cancel = False
End If
Case Else
MsgBox "Invalid value in " & c.Address
Cancel = True
Exit For
End Select
Next
End Sub

test[_3_]

How to make it work for "WHOLE" workbook
 
On Apr 6, 1:17*pm, test wrote:
On Apr 4, 2:35*pm, test wrote:

On Apr 3, 9:16*pm, jasontferrell wrote:


Use this one also, and add the same code to this subroutine.


Private Sub Workbook_BeforeClose(Cancel As Boolean)


Thanks alot Jason. That works.


One more help. Below is an extract from my requirement. The code seems
to be working fine but I do not want the below code to run if the
column E value is NULL (Blank). This should be a exceptional case
where the code should skip blank values in column E. Can you please
advise what could be changed in the below code to reflect this.

Let me know if any more information is needed from my side. I am
currently using excel 2003

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Dim MySheet As String, lastrow As Long
MySheet = "Sheet1"
lastrow = Sheets(MySheet).Cells(Cells.Rows.Count, "A").End(xlUp).Row
Set MyRange = Sheets(MySheet).Range("E4:E" & lastrow)
For Each c In MyRange
* * Select Case UCase(c)
* * * * Case "FAIL", "OTHER"
* * * * If c.Offset(, 1).Value = "" Then
* * * * * * MsgBox "Invalid Comment at " & c.Offset(, 1).Address
* * * * * * Cancel = True
* * * * * * Exit For
* * * * End If
* * * * Case "SUCCESS"
* * * * If c.Offset(, 1).Value = "" Then
* * * * * * Cancel = False
* * * * End If
* * * * Case Else
* * * * * * MsgBox "Invalid value in " & c.Address
* * * * * * Cancel = True
* * * * * * Exit For
* * End Select
Next
End Sub


Ok I got it. A condition of IsEmpty(c.Value) in else case did the
trick. Thanks


All times are GMT +1. The time now is 04:42 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com