2.3k Aufrufe
Gefragt in Tabellenkalkulation von little-key Mitglied (333 Punkte)
Hallo an alle Profis hier!

Mein Problem:
Ich habe eine Tabelle mit 30 Blättern. Im letzen Blatt (AR) erfolgt eine Aufrechnung der anderen Blätter.
Im Blatt AR in Zelle BO5:BO6, BO7:BO8, BO9:BO10 usw. kann eine eine Ausgabe "FALSCH" erscheinen.
Erscheint die Ausgabe in einem der Felder möchte ich gern, dass eine Messagebox aufgeht mit einem Text z.B. Fehler (Kann ich noch definieren), egal welches Tabellenblatt gerade aktiv ist.
Diese Meldung sollte mit OK bestätigt werden, aber wieder erscheinen, wenn keine Änderung erfolgt ist.

Kann mir jemand helfen. Habe mich hoffentlich gut ausgedrückt.

Danke im voraus.
Mario

3 Antworten

0 Punkte
Beantwortet von
Hi,

Wenn die Werte, welche zum Ergebnis "FALSCH" in einer der besagten Zellen führen können, von Hand eigegeben werden, dann könnte folgendes eine Anregung für Dich sein:

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Dim rngZelle As Range
If Sh.Name = "AR" Then 'Wenn TabellenName "AR" (Name anpassen)
For Each rngZelle In Sh.Range("BO5:BO10") 'Prüfe jede Zelle in BO5 bis BO10 auf Tabelle "AR"
If LCase(rngZelle.Value) = "falsch" Then 'wenn eine Zelle den Wert "falsch" hat
MsgBox "Fehler" 'Fehlermeldung/MessageBox
Application.Undo 'letzte Aktion rückgängig machen
Exit For 'Schleife verlassen
End If
Next rngZelle
End If
End Sub


Der Code gehört dann in das Projekt "Diese Arbeitsmappe" des betreffenden Files.

bye
malSchauen
0 Punkte
Beantwortet von little-key Mitglied (333 Punkte)
Hallo malSchauen,

Verzeihung, dass ich mich jetzt erst melde, aber musste dringend weg.

Die Ausgabe FALSCH wird durch die Wenn-Funktion erzeugt:
=WENN(BL5=ABRUNDEN((BJ5+BK5+BL5)/6;0);" ";FALSCH).

Der o.g. Code funktioniert leider nicht.

Noch eine Idee? oder jemand anders.

Mario
0 Punkte
Beantwortet von little-key Mitglied (333 Punkte)
Lösung gefunden:

Habe eine Hilfsbox erstellt:
=WENN(BO5=FALSCH;AlarmZ5();"")

und den Code dafür:
Function AlarmZ5()
MsgBox "eigenerText.", vbInformation, "Falsche Eingabe"
End Function


Trotzdem Danke für die Hilfe.

Guten Rutsch an alle freundlichen Helfer.
Mario
...