Cómo habilitar macros para una sola hoja en Excel

Cómo habilitar macros para una sola hoja en Excel

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

información relacionada