273 Aufrufe
Gefragt in Tabellenkalkulation von peters Mitglied (460 Punkte)
Bearbeitet von peters

Hallo!

Ich habe mir mal wieder eine fetzige Problemstellung ausgedacht   laugh

Ich habe eine Datei mit einer Anzahl Tabellen.
Gearbeitet wird ausschließlich in 2 Tabellen davon, alle Daten aus Tabelle1 bezogen.

Mir schwebt nun vor, dass bei Anwahl einer anderen Tabelle geprüft wird, ob z.B. in die Zellen
A1, B7 und G9 Werte eingetragen wurden.
Ist das nicht der Fall, soll eine MsgBox ausgeführt werden und nach deren Bestätigung ist
der Nutzer weiterhin auf Tabelle1, der Wechsel wird also verhindert.

Hat dazu jemand eine Idee?

Meine Idee bringt nur den Erfolg, dass beim Aktivieren des Tabellenblattes die MsgBox kommt:

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    If ActiveSheet.name <> "Eingabe" Then Exit Sub

   MsgBox "Bla bla bla"
    Sheets("Eingabe").Select

End Sub

Gruß

Peter

2 Antworten

+1 Punkt
Beantwortet von m-o Profi (22.7k Punkte)
ausgewählt von halfstone
 
Beste Antwort

Hallo Peter,

hier mal ein Vorschlag. Kopiere das Makro in das VBA-Projekt der Tabelle "Eingabe":

Private Sub Worksheet_Deactivate()

If Range("A1") <> "" And Range("B7") <> "" And Range("G9") <> "" Then Exit Sub

Worksheets("Eingabe").Activate
MsgBox "Achtung! Bitte füllen Sie die Zellen A1, B7 und G9 aus!", 16, "Fehler"

End Sub

Gruß

M.O.

0 Punkte
Beantwortet von peters Mitglied (460 Punkte)
Hallo MO,

das klappt tatsächlich gut, danke!

Gruß

Peter
...