Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1212to1216
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabellenblattwechsel verhindern

Tabellenblattwechsel verhindern
lisa
Hallo und guten Morgen
Mit dieser MSG Box will ich verhindern das Tabellenblatt zu verlassen solange die Zelle B3 nicht gefüllt ist!
Ich bekomme zwar meinen Meldung gelange aber trotzdem in das nächste gewählte Tabellenblatt!
Was muss ich tun um den wechsel zu verhindern
Private Sub Worksheet_Deactivate()
If Sheets("Tabelle1").Range("B3") = "" Then
MsgBox "Zelle leer, speichern nicht möglich!"
Cancel = True
End If
End Sub
danke für jede Hilfe
Gruß Lisa
AW: Tabellenblattwechsel verhindern
11.05.2011 10:46:02
selli
hallo lisa,
activiere das blatt einfach wieder.
Private Sub Worksheet_Deactivate()
If Sheets("Tabelle1").Range("B3") = "" Then
MsgBox "Zelle leer, speichern nicht möglich!"
Cancel = True
Sheets("Tabelle1").Activate
End If
End Sub
gruß selli
dann war aber ein Anderes schon aktiv !
11.05.2011 10:57:48
Matthias
Hallo selli
Die gleiche Idee hatte ich auch erst, aber ganau das wollte Lisa ja verhindern und da hab ichs verworfen.
Desweiteren befindet sich der Code ja in "Tabelle1".
Also ist beim Deactivate (mE) das Referenzieren des Blattes nicht nötig.
Cancel = True
erzeugt bei mir den VBA Fehler (Variable nicht definiert)
Gruß Matthias
Anzeige
Thema verfehlt ?
11.05.2011 11:45:45
selli
hallo matthias,
es war aber doch die rede davon, einen wechsel zu verhindern.
...und fang jetzt bite nicht mit deaktivierten makros an und, dass nichts sicher ist in excel. das ist mir schon klar.
ich denke, dass mit dieser methode das gewollte durchaus ereicht wird.
gruß selli
Thema nicht verfehlt !!
11.05.2011 11:58:33
Matthias
Hallo selli
es war aber doch die rede davon, einen wechsel zu verhindern.
Genau!
Zitat Lisa:
... will ich verhindern das Tabellenblatt zu verlassen ...
Beim Klick auf ein anderes Tabelleblatt ist der Wechsel bereits vollzogen,
auch wenn man danach das entsprechende Blatt wieder aktiviert.
Deshalb hatte ich vorgeschlagen die anderen Blätter solange auszublenden.
Deinen geposteten Betreff kann ich also nicht verstehen
und von deaktivierten Makros habe ich auch nichts geschrieben.
Wenn Lisa damit zufrieden ist, dann ist doch alles gut.
Gruß Matthias
Anzeige
hier mal meine Einschätzung
11.05.2011 10:49:52
Matthias
Hallo Lisa
Das Worksheet_Deactivate
tritt nunmal erst ein, beim Deaktivieren.
Du könntest die anderen Blätter evtl. voher ausblenden
und erst wieder einblenden, wenn die Zelle nicht leer ist.
Alternativ, wenn die Zelle geleert wird die anderen Blätter wieder ausblenden.
Userbild
AW: Tabellenblattwechsel verhindern
11.05.2011 11:22:56
Mäxl
hi
lege diesen Code in "dieseArbeitsmappe"
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If Sh.Name = "Tabelle1" Then 'besser wäre aber den Codenamen abzufragen ^^
If Sh.Range("B3").Value = "" Then
Sh.Activate
MsgBox "Bitte B3 ausfüllen"
End If
End If
End Sub
gruß
Mäxl
Anzeige
AW: Tabellenblattwechsel verhindern
11.05.2011 12:29:02
lisa
Hallo und danke für eure Mühe
Die Idee die Tabelle1 wieder zu aktivieren hatte ich auch, ist aber nicht so gut, da ich im selben Blatt bleiben will und den wechsel verhindern möchte.
Die Idee von Mäxl funktioniert leider nicht, da bekomme ich einen Laufzeitfehler 424 Objek erforderlich.
Wenn es denn nichts hilft, dann muss ich das wirklich über das wieder aktivieren der Tabelle1 realisieren.
vielleicht fällt euch aber noch etwas ein!
Gruß Lisa
AW: schau hier...
11.05.2011 12:45:25
lisa
Hallo Matthias, das ist eine gute Idee und ich werde sie auch so umsetzen!
herzlichen Dank und Gruß Lisa
AW: schau hier...
11.05.2011 12:55:21
Mäxl
Hallo Lisa
schreibe etwas in B3
markiere danach A1:Xxx oder B1:Bxx
drücke entfernen
;)
wäre das dann auch OK?
gruß
Mäxl
das läßt sich aber auch absichern
11.05.2011 23:38:59
Matthias
Hallo Mäxl
einfach diesen Code mit in die Tabelle einfügen:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Count > 1 Then ActiveCell.Select
End Sub
versuche nun A1:Xxx oder B1:Bxx zu markieren
Jetzt zufrieden? ;o)
Userbild
Anzeige
nicht wirklich :)
12.05.2011 09:13:56
mäxl
Hallo Matthias
nun kann eben nicht mehrfach markiert werden und wenn eine leere Zelle darüber kopiert wird sind die Blätter wieder offen.
(klicke mal auf B2-> gehe auf den Autoausfüllpunkt und fahre dann damit über B3 (in der zuvor ein Eintrag war))
;)
gruß
Mäxl
wer sucht der findet ... kwT
12.05.2011 09:55:16
Matthias
AW: Tabellenblattwechsel verhindern
11.05.2011 12:49:36
Mäxl
Hallo Lisa
du hast den Code falsch hinterlegt!!!
liegt er bei Dir auch in "dieseArbeitsmappe" ;)
https://www.herber.de/bbs/user/74784.xls

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige