Question : Require data entry before save of an Excel sheet

I have an Excel-2003 spreadsheet that has several fields but absolutely requires 4 specific fields to not be blank before "SAVE" or "PRINT".

I HAVE NO VB EXPERIECE WHATSOEVER SO PLEASE KEEP YOUR ANSWERS VERY SIMPLE!

I did a search on this topic, found a prior post regarding this subject and did a copy/paste of the VB code to my sheet. The result is that the code works BUT I can't save the sheet because I get an error message that the field is required. In this initial test I only used one field but eventually 3 more need to be validated.
 
The following code I what I copied from a prior post and which looks very complicate:

open the vb editor with ALT + F11
-in the left pane doubleclick thisworkbook icon
-then paste this code

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  if not CheckDateField then
    MsgBox "you need to fill in a end date to proceed"
    Cancel = true
  end if
End Sub

Private Sub Workbook_BeforePrint(Cancel As Boolean)
  if not CheckDateField then
    MsgBox "you need to fill in a end date to proceed"
    Cancel = true
  end if
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  if not CheckDateField then
    MsgBox "you need to fill in a end date to proceed"
    Cancel = true
  end if
End Sub

Private Function CheckDateField() as Boolean
  CheckDateField=False
  If Worksheets(1).Range("C1").Value <> "" Then
    CheckDateField=True
  end if
End Function

-you've to change the line with Worksheets(1).Range("C1").Value
-to the field you need to check
-then save and close the editor

then try it out

 

Answer : Require data entry before save of an Excel sheet

Sorry, my mistake. Change:

   If Len(Dir(ThisWorkbook.Path & Application.Path & "Bypass Field Check.txt")) = 0 Then

to:

   If Len(Dir(ThisWorkbook.Path & Application.PathSeparator & "Bypass Field Check.txt")) = 0 Then

Kevin
Random Solutions  
 
programming4us programming4us