I am using macros in excel to make fields mandatory in excel workbook. However, the problem is that the workbook contains multiple worksheets and the macro applies to all th
Please try:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
For i = 1 To ThisWorkbook.Sheets.Count
If ThisWorkbook.Sheets(i).Name = "Name of specific sheet" Then
If ThisWorkbook.Sheets(i).Cells(5, 2).Value = "" Then
MsgBox "Please fill cell B5"
Cancel = True
End If
End If
Next i
End Sub
Where the "Name of specific sheet" is the worksheet name that you validate Cells(5, 2).Value = ""
for.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim shX As Worksheet
Dim rX As Range
Set shX = ThisWorkbook.Worksheets("Sheet1")
Set rX = shX.Cells(5, 2)
If rX = "" Then
MsgBox "Please fill cell B5"
Cancel = True
shX.Select
rX.Select
End If
End Sub
More directly
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim ws As Worksheet
Set ws = Sheets("Your sheet name here")
If Len(ws.[b5]) = 0 Then
MsgBox "Please fill cell B5 on sheet " & ws.Name, vbCritical, "File not saved"
Cancel = True
Application.Goto ws.[b5]
End If
End Sub