En mi hoja de excel estoy validando que una columna específica no debe estar vacía y sus valores deben ser únicos. Esta validación solo debe realizarse en la "Hoja1", pero también funciona para otras hojas. mi codigo es
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _ Cancel As Boolean)
Dim rngCell As Range
Dim lngLstRow As Long
lngLstRow = ActiveSheet.UsedRange.Rows.Count
For Each rngCell In Range("A1:A" & lngLstRow)
If rngCell.Value = 0 Then MsgBox ("Please enter a name in cell " & rngCell.Address) rngCell.Select
End If
Next
End Sub
La segunda validación de valores únicos se realiza mediante la funcionalidad de validación de datos en Excel.
Respuesta1
Debe especificar la hoja en la que desea que actúe el código, en lugar de utilizar ActiveSheet.
Entonces, en el caso de que quieras verificar la Hoja1, deberás cambiarla a esto:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim rngCell As Range
Dim lngLstRow As Long
lngLstRow = Sheet1.UsedRange.Rows.Count
For Each rngCell In Sheet1.Range("A1:A" & lngLstRow)
If rngCell.Value = 0 Then
MsgBox "Please enter a name in cell " & rngCell.Address
Sheet1.Activate
rngCell.Select
End If
Next
End Sub