So aktivieren Sie Makros nur für ein Blatt in Excel

So aktivieren Sie Makros nur für ein Blatt in Excel

In meinem Excel-Tabellenblatt prüfe ich, ob eine bestimmte Spalte nicht leer sein darf und ihre Werte eindeutig sein müssen. Diese Prüfung sollte nur für „Tabelle1“ durchgeführt werden, funktioniert aber auch für andere Tabellenblätter. Mein Code lautet

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

Die zweite Validierung für eindeutige Werte wird durch die Datenvalidierungsfunktion in Excel durchgeführt.

Antwort1

Sie sollten das Blatt angeben, auf das der Code angewendet werden soll, anstatt ActiveSheet zu verwenden.

Wenn Sie also Sheet1 überprüfen möchten, ändern Sie es wie folgt:

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

verwandte Informationen