Anzeige
Archiv - Navigation
1392to1396
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

Popup bei Zeitablauf

Popup bei Zeitablauf
14.11.2014 09:37:41
Manasse
Hallo,
ich habe eine Tabelle die Zeitintervalle beinhaltet. Nun soll ein Popup erscheinen, wenn ein Zeitintervall beendet ist. Also etwa so:
A1: Kennung, A2: Zeitintervall Beginn, A3: Zeitintervall Ende
Wenn A3< Aktuelle Zeit, dann Popup
Hat jemand eine Idee, ob, und wenn ja wie, so etwas machbar ist?
Herzlichen Dank für jede Hilfe
Gruß Manasse

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Popup bei Zeitablauf
14.11.2014 09:38:58
Hajo_Zi
vielleicht reich auch die bedingte Formatierung?

AW: Popup bei Zeitablauf
14.11.2014 09:50:03
Manasse
Servus,
vielen Dank für die schnelle Reaktion. Eine bedingte Formatierung wäre das Notszenario. Da es sich aber um eine große Tabelle handelt, die auch noch unter Stressbedingung bearbeitet werden muss, wäre ein Popup die bessere Variante.
Gruß Manasse

Hängt davon ab...
14.11.2014 13:20:13
ab...
... wann und wie oft der Vergleich durchgeführt werden soll.
Praktikabel wäre hier die Verwendung von Worksheet-Ereignissen. Oder Du belegst einen Button mit dem Code. Der Code an sich ist ja nicht schwer zu realisieren:
If Cells(1, 3).Value 
Grüsse,
Frank

Anzeige
AW: Hängt davon ab...
14.11.2014 14:51:22
ab...
Hi Frank,
vielen Dank. Super Idee!!
Ich habe es per Button gelöst. Dennoch eine Frage, ob Du mir einen weiterführenden Tipp geben kannst. Mit dieser von Dir dargestellten Formel wird ja nur ein Feld abgefragt. Ich muss aber eine ganz Latte von Feldern püfen. So habe ich einfach mal (zum Test) drei Felder zum prüfen in die Button Programmierung eingefügt. Also drei Zeilen Deiner Formel untereinander.
If Cells(3, 3).Value < Time Then MsgBox "Überfällig Zeile 3"
If Cells(4, 3).Value < Time Then MsgBox "Überfällig Zeile 4"
If Cells(5, 3).Value < Time Then MsgBox "Überfällig Zeile 5"
Das Ergebnis ist, dass ich drei mal auf OK in der MsgBox drücken muss und bekomme jeweils die Info zu der relevanten Zeile.
Meine Frage nun, ob es eine Möglichkeit gibt, dass alle Felder deren Zeitintervall überschritten ist, auf einmal in der MsgBox angezeigt werden können? Hast Du dazu eine Idee?
Gruß
Manasse

Anzeige
AW: Hängt davon ab...
14.11.2014 15:04:39
ab...
Nur die Markierung, dass noch ein Hilfegesuch offen ist.

Ja, geht.
14.11.2014 15:19:34
Frank
Hi Manasse,
so z.B:
Z1=0
if...Vergleich erste Zelle... then Z1=1
if...Vergleich zweite Zelle... then Z1=Z1 + 2
if...Vergleich dritte Zelle... then Z1=Z1 + 4
if Z1>0 Then
select case Z1
case 1
Text="Zeile 1"
case 2
Text="Zeile 2"
case 3
Text="Zeile 1 & Zeile 2"
end select
Dummy=msgbox("Zeitüberschreitung", "Überfällig: " & Text, vbOKonly)
end if
Grüsse,
Frank

AW: Ja, geht.
14.11.2014 15:41:21
Manasse
Hallo Frank,
vielen Dank. Leider bleibt das Makro bei der MsgBox hängen und ich weiß nicht warum. Wenn Du noch Zeit und Lust hast, nehme ich gerne Deine Hilfe noch einmal in Anspruch. Wenn nicht, ist das aber auch völlig ok! Ich bin auf jeden Fall ein Stück weiter.
Gruß Manasse

Anzeige
Zu spät ... ;-)
14.11.2014 15:58:44
Frank
Hi,
ja, die Messagebox! Ich weiss die Reeihenfolge der Optionen eben auch nur, wenn mir der Editor das als FlyOut anzeigt. Probiers mal so:
Dummy = MsgBox("Überfällig: " & Text, vbOKOnly, "Zeitüberschreitung")
Grüsse,
Frank

Leider keine Sammelmeldung
14.11.2014 17:34:40
Manasse
Salü Frank,
nun springt die Box wieder an :-)
Leider kommt sie aber nur einmal und nur mit dem "Überfällig". Den weiteren Text gibt die Box nicht wieder. Aber die Überschrift der Box klappt dennoch.
Ich füge mal die Beispieldatei bei.
https://www.herber.de/bbs/user/93776.xlsm
In dem VBA Editor kannst Du Dir mal die beiden Programmierungsvarianten ("jede überfällige Zeile wird einzeln gemeldet" und "Versuch alles in einer Box") anschauen. Es ist jeweils nur eine Möglichkeit zu aktivieren. So kann der Unterschied gut nachvollzogen werden.
Gruß
Manasse

Anzeige
Bin erst wieder am Mittwoch online
14.11.2014 21:38:02
Frank
Hi
vielleicht schaut sich ja jemand den Thread mal an. Bin frühestens Dienstagabend; ggf. auch erst Mittwochabend wieder online.
Grüsse,
Frank

CASE vollständig prüfen
19.11.2014 09:04:15
Frank
Hallo Manasse,
ja, ist klar. Du musst natürlich auch die übrigen Varianten (Z1=4, 5, 6 etc) in der SELECT CASE-Abfrage definieren. In der jetzigen Variante prüfst Du nur bis CASE 3. Das wird aber sofort überschritten, wenn mehr als eine Zeile oder Zeile 5 überfällig sind.
CASE 4 wäre dann Text = "Zeile 5"
CASE 7 wäre dann Text = "Zeile 3 & Zeile 4 & Zeile 5"
CASE 6 und 5 überlasse ich Dir.
Grsse,
Frank

Anzeige
Besten Dank
19.11.2014 13:14:54
Manasse
Hallo Frank,
ganz herzlichen Dank, dass Du tatsächlich noch einmel in den Fall geschaut hast. Jetzt verstehe ich auch was da vor sich geht. Wenn ich dann eine länger Liste habe wird es kompliziert, da der Text für jeden Fall vorgeschrieben werden muss. Ich hatte halt die schlichte Vorstellung, dass man in der Box Texte zusammenziehen kann abhängig davon, ob ein Feld nun betroffen ist oder nicht. Also so etwa wie "Text verknüpfen". Aber nun ja ...
Trotzdem vielen Dank, dass Du Dir die Zeit genommen hast und ich wieder etwas dazu gelernt habe.
Gruß
Manasse

Dann eher so...
19.11.2014 13:50:39
Frank
Hallo nochmal,
das geht natürlich auch anders, wenn da noch mehr Abfragen erfolgen sollen.
Text="Überfällig: "
for i= 3 to 10 'falls 7 Zeilen zu prüfen sind
If Cells(i, 3).Value 
Da steht dann aber kein Komma drin, wie das für ordentliches Deutsch der Fall sein sollte. Setzt Du am Ende noch ein & ", ", hast Du am Ende ein Komma, obwohl da gar nix mehr kommt. Klar, auch das kann man abfangen, indem man das einfach nach dem letzten Durchlauf wieder aus dem String entfernt: Text = Left(Text, Len(Text) - 2).
Das war aber so nicht gefragt. In Deiner anfänglichen Fragestellung ging es um eine Zelle, die geprüft werden sollte, was dann später auf drei erhöht wurde.
Grüsse,
Frank

Anzeige
Genial !!!
19.11.2014 15:21:17
Manasse
Hi Frank,
es wird immer besser mit der Datei. Super!! Ich trau mich kaum noch zu gestehen, dass ich mit Deinem Input das letzte Komma nicht wegbekomme. Ich weiß einfach nicht, wo ich diese Zeile (Text = Left(Text, Len(Text) - 2)) unterbringen soll. Ich füge die Datei vorsichtshalber noch einmal bei.
https://www.herber.de/bbs/user/93880.xlsm
Wenn Du noch mal ganz viel Zeit und Interesse hast, würde ich mich über einen nochmaligen Tipp freuen :-)
Du glaubst nicht, wie dankbar ich für deine Tipps bin. Und Du hast recht, dass meine Anfrage anders gestellt war. Ich bin bisher immer vorsichtig und frage nicht zu viel, damit ich keinen von meiner Anfrage abschrecke. Nicht jeder hilft so toll. Jetzt ist aber alles (bis auf den Schönheitsfehler des letzten Kommas) erreicht, was ich mit der Tabelle vorhatte. Ganz herzlichen Dank!!!!
Gruß
Manasse

Anzeige
Zeichenkette 'Text' bearbeiten
19.11.2014 16:19:56
Frank
Hallo Manasse,
einfach zwischen die Zeilen Text = Text & i & ", " und End If
Damit wird die Zeichenkette, die in der Variable 'Text' steckt, abschliessend bearbeitet.
Grüsse, Frank

AW: Zeichenkette 'Text' bearbeiten
19.11.2014 16:55:30
Manasse
Salü Frank,
herzlichen Dank nochmal für die Hilfe. Zwar verschwinden alle Kommata im Infofeld wenn ich Deine Zeile an den angegebenen Ort kopiere, aber da es ja nur ein Schönheitsfehler ist, will ich Dich nicht länger belästigen und behalte einfach das letzte Komma. Es sei denn, dass Du wirklich Spaß daran hast.
Grüsse
Manasse

Ist ja auch Quatsch...
19.11.2014 18:17:45
Frank
Da hatte ich nicht noch mal richtig hingeguckt. Nach dem NEXT, vor der Ausgabe der MSGBOX natürlich.
Grüsse,
Frank

Anzeige
Geschafft. DANKE!!
19.11.2014 18:22:24
Manasse
Salü,
und nun, nach perfekter Lösung, noch einmal ein ganz herzliches Dankeschön !!!!!!!!!!!!!!!!!
Grüsse,
Manasse

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige