kann man vor einem Blattwechsel eine Prüfung durchführen lassen?
Wenn nämlich z.B. A1 und C3 leer sind, soll man nicht auf ein anderes Blatt wechseln können. Erst wenn diese ausgefüllt sind, soll das möglich sein.
Geht das?
Danke.
Viele Grüße
Marco
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
On Error GoTo ENDE
Application.EnableEvents = False
With Sh
If .Name = "Tabelle1" Then
If .Range("A1") = "" Or .Range("C3") = "" Then .Activate
End If
End With
ENDE:
Application.EnableEvents = True
End Sub
Gruß
Rudi
Private Sub Worksheet_Deactivate()
If [a1] = "" And [c3] = "" Then
MsgBox "geht net" 'Meldung anpassen
Sheets("Tabelle1").Activate 'Name des Tabellenblattes anpassen
End If
End Sub
Grüße
Hoffi
Option Explicit
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
On Error GoTo ENDE
Application.EnableEvents = False
With Sh
If .Name = "Tabelle1" Then
If .Range("A1") = "" Or .Range("C3") = "" Then .Activate
MsgBox "bitte alle Felder ausfüllen", vbCritical
End If
End With
ENDE:
Application.EnableEvents = True
End Sub
Option Explicit
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
On Error GoTo ENDE
Application.EnableEvents = False
With Sh
If .Name = "Tabelle1" Then
If .Range("A1") = "" Or .Range("C3") = "" Then .Activate
MsgBox "bitte alle Felder ausfüllen", vbCritical
End If
End With
ENDE:
Application.EnableEvents = True
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
On Error GoTo ENDE
Application.EnableEvents = False
With Sh
If .Name = "Tabelle1" Then
If .Range("A1") = "" Or .Range("C3") = "" Then
.Activate
MsgBox "bitte alle Felder ausfüllen", vbCritical
End If
End If
End With
ENDE:
Application.EnableEvents = True
End Sub
Sheets("Tabelle1").Activate 'Name des Tabellenblattes anpassen
Unnötig, wenn du einfach Me.Activate benutzt.
Gruß
Rudi
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen