Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1012to1016
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

Makro bei Verlassen des Blattes auslösen

Makro bei Verlassen des Blattes auslösen
07.10.2008 15:25:00
WalterK
Hallo,
der folgende Code wird per Schaltfläche aktiviert und wenn die Zelle AW25 nicht leer (also aus einer Formelberechnung "" ) ist, werden Berechnungen durchgeführt; wenn AW25 leer (also Formelergebnis ="") ist, kommt eine Msg-Box.
Was muss geändert werden, damit der Code aktiviert wird, wenn ich irgend ein anderes Blatt anklicke. Es soll also, falls ein anderes Blatt angeklickt wird geprüft werden, ob AW25 ="", wenn ja soll eine Msg-Box erscheinen und das Blatt "DN-Daten erfassen" soll nicht gewechselt werden können.

Sub Schaltfläche29_BeiKlick()
If (Worksheets("DN-Daten erfassen").Range("AW25")) = "" Then
MsgBox "In diesem Blatt sind diverse Pflichtfelder vorgegeben, " & vbLf & "die zuerst ausgefü _
llt werden müssen!", vbInformation, " Achtung: Für die Berechnung der Tabelle fehlen noch wichtige Eingaben ..."
Exit Sub
Else
If Range("AT39")  "" Then
Range("CC37").GoalSeek Goal:=Range("AT39").Value, ChangingCell:=Range("BN37")
Range("CC37").GoalSeek Goal:=Range("AT39").Value, ChangingCell:=Range("BN37")
End If
If Range("AT44")  "" Then
Range("CC42").GoalSeek Goal:=Range("AT44").Value, ChangingCell:=Range("BN42")
Range("CC42").GoalSeek Goal:=Range("AT44").Value, ChangingCell:=Range("BN42")
End If
End If
End Sub


Besten Dank im voraus
und Servus, Walter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro bei Verlassen des Blattes auslösen
07.10.2008 15:30:50
mumpel
Hallo!
Schau Dir mal Worksheet_deactivate an. Zum Beispiel:
Option Explicit

Private Sub worksheet_deactivate()
If (Worksheets("DN-Daten erfassen").Range("AW25")) = "" Then
MsgBox "In diesem Blatt sind diverse Pflichtfelder vorgegeben, " & vbLf & _
"die zuerst ausgefüllt werden müssen!", vbInformation, _
" Achtung: Für die Berechnung der Tabelle fehlen noch wichtige Eingaben ..."
Exit Sub
Else
 If Range("AT39") <> "" Then
 Range("CC37").GoalSeek Goal:=Range("AT39").Value, ChangingCell:=Range("BN37")
 Range("CC37").GoalSeek Goal:=Range("AT39").Value, ChangingCell:=Range("BN37")
 End If
 If Range("AT44") <> "" Then
 Range("CC42").GoalSeek Goal:=Range("AT44").Value, ChangingCell:=Range("BN42")
 Range("CC42").GoalSeek Goal:=Range("AT44").Value, ChangingCell:=Range("BN42")
 End If
End If
End Sub

Code eingefügt mit VBA in HTML 2.0 ( Hilfe zum Programm)size>
Gruß, René

Anzeige
AW: Makro bei Verlassen des Blattes auslösen
07.10.2008 16:00:21
WalterK
Hallo René,
die Msg-Box kommt wie gewünscht, allerdings ist der Blattwechsel noch möglich. Es sollte so sein, dass der Wechsel in das andere Blatt nicht statt findet.
Könnte man das noch entsprechend ändern?
Besten Dank jedenfalls,
Servus Walter
AW: Makro bei Verlassen des Blattes auslösen
07.10.2008 16:08:00
mumpel
Ersetze einfach den entsprechenden Block oder füge die entsprechende Zeile ein.
If (Worksheets("DN-Daten erfassen").Range("AW25")) = "" Then
MsgBox "In diesem Blatt sind diverse Pflichtfelder vorgegeben, " & vbLf & _
"die zuerst ausgefüllt werden müssen!", vbInformation, _
" Achtung: Für die Berechnung der Tabelle fehlen noch wichtige Eingaben ..."
Sheets("DN-Daten erfassen").Activate
Exit Sub

Code eingefügt mit VBA in HTML 2.0 ( Hilfe zum Programm)size>

Anzeige
AW: kleine Kosmetik noch
07.10.2008 16:24:47
WalterK
Hallo René,
ok, jetzt ist es so, dass beim Anklicken eines anderen Blattes das andere Blatt erscheint, dort ist die Msg-Box, dann klicke ich auf OK und es wird wieder ins "Blatt DN-Daten erfassen" gesprungen.
Optimal wäre es, wenn auch optisch das andere Blatt erst gar nicht sichtbar wird.
Vielleicht gibt es da noch eine Möglichkeit, ansonsten Dank ich Dir für die Hilfe, auch diese Lösung passt mir!
Servus, Walter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige