Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
616to620
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
616to620
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Einmalige Messagebox, wenn Bedinung

Einmalige Messagebox, wenn Bedinung
27.05.2005 11:39:40
Daniel
Guten Tag Zusammen!
Ich habe in der Spalte J eine Formel stehen, die einen Wert berechnet.
In der Spalte G habe ich Zahlen stehen.
Wenn der Wert in Spalte J kleiner ist, als die jeweileige Zahl in Spalte G, so soll eine Messagebox angezeigt werden. Diese soll aber nur einmal, beim erstmaligen unterschreiten des Wertes kommen.
Die Messagebox soll den Text "Bought" + das Wort in der jeweiligen Spalte A beinhalten.
Könnte mir da jemand helfen? Welche Infos braucht ihr noch?
Grüße und schonmal vielen Dank,
Daniel

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einmalige Messagebox, wenn Bedinung
27.05.2005 12:04:30
Galenzo
ist das eventuell besser mit einer "bedingten Formatierung" zulösen?
AW: Einmalige Messagebox, wenn Bedinung
27.05.2005 12:08:30
Daniel
Ja, das habe ich zusätzlich.
Da sich der Wert in Spalte J aber dauernd ändert, muss ich schnell reagieren können, wenn der Wert kleiner Spalte G ist.
Deshalb möchte ich eine Messagbox, damit ich das gelich merke, auch wenn ich mich in einem anderen Fenster bewege.
Grüße,
Daniel
AW: Einmalige Messagebox, wenn Bedinung
27.05.2005 12:06:27
Florian
Hi Daniel,
hilft Dir das weiter? Meld Dich einfach, wenn was nicht passt!
Gruß, Florian

Sub WannKleiner()
Dim Diff, g As Integer
Dim ws As Worksheet
Diff = -1000
Set ws = Sheets("Tabelle4")
g = 1
Do While Diff <= 0
Diff = ws.Cells(1, 7).Offset(g, 0) - ws.Cells(1, 10).Offset(g, 0)
g = g + 1
Loop
MsgBox "Bought " & ws.Cells(1, 1).Offset(g - 1, 0)
End Sub

Anzeige
AW: Einmalige Messagebox, wenn Bedinung
27.05.2005 12:12:30
Daniel
Zunächst vielen Dank.
Dii Messagebox kommt, wenn man das Makro ausführt.
Ich hätte aber gerne, dass das Makro ständig die Zellen prüft.
Die Frage ist wenn das geht auch, ob das nicht zu viel Performance braucht, da sich die Werte in J alle paar Sekunden aktualisieren und ich über 150 Zellen habe.
Grüße,
Daniel
AW: Einmalige Messagebox, wenn Bedinung
27.05.2005 12:18:31
Florian
Hi,
Lad vielleicht mal ein Bsp hoch, wenns geht
Greetings,
Florian
AW: Einmalige Messagebox, wenn Bedinung
27.05.2005 12:20:46
Daniel
Ich fürchte das würde nicht weiterhelfen, da die Werte in Spalte J aus einer
externen Datenquelle in das Sheet "reinlaufen". Es handelt sich zum besseren Vertsändnis um aktuelle Aktienkurse.
Grüße
Anzeige
AW: Einmalige Messagebox, wenn Bedinung
27.05.2005 12:19:36
Galenzo
VBA - Modul:

Function Warner(Wert1 As Long, Wert2 As Long, Hinweis As String) As Boolean
Application.Volatile
If Wert1 = Wert2 Then MsgBox Hinweis
End Function

in der betreffenden zu überwachenden Zelle: =WARNER(A1;B1;"Warnung")
Viel Erfolg!
AW: Einmalige Messagebox, wenn Bedinung
27.05.2005 12:54:18
Daniel
Hallo Galenzo,
also irgendwie werde ich aus Deinem Posting nicht schlau.
Was muss ich wie machen?
Gruß
Daniel
Noch offen...o.T.
27.05.2005 13:26:42
Daniel
...
Weiß hier nicht weiter....o.T. Danke.
27.05.2005 13:28:29
Daniel
....
AW: Weiß hier nicht weiter....o.T. Danke.
27.05.2005 13:59:54
Florian
Wie oft werden Deine Daten denn aktualisiert? Du kannst ja die Makro von mir z.B. alle 2 Minuten laufen lassen. Das kannste natürlich auch automatisieren, wenn Dir des weiterhilft.
Anzeige
AW: Weiß hier nicht weiter....o.T. Danke.
27.05.2005 14:17:10
Daniel
Hallo Florian,
das wäre eine tolle Sache. Wäre nett, wenn du mir das so umschreiben könntest, dass
es alle 60 Sekunden läuft, ich in einer Zelle JA oder NEIN eingebe (N3).
ABER: Ich sagte ja, dass für jede Zeile die Messagebox max. 1 Mal anspringen soll während einer "Session".
Geht das auch?
Grüße und vielen Dank!
Daniel
AW: Weiß hier nicht weiter....o.T. Danke.
27.05.2005 14:47:51
Florian
Hi Daniel,
Versteh jetz nicht ganz:
Was meinst du genau mit ja/nein? Ausführen oder nicht ausführen oder?
Wenn Du es so machen würdest, würde natürlich alle 60 Sekunden die msgbox kommen, sobald die Bedingung erfüllt ist. Also Session=1 Makrorun. Passt doch oder wie?
Greetings, Florian
Anzeige
AW: Weiß hier nicht weiter....o.T. Danke.
27.05.2005 14:56:36
Daniel
Ich möchte nicht, dass die Messagebox dann alle 60 sek kommt, wenn die Bedingung wahr ist.
Wenn ich die Excel- Liste den ganzen tag auf habe, dann kann es sein, dass eine Bedinung den ganzen Tag lang wahr ist. Es soll also nur das erste Mal sein. Mit einer Session meine ich Datei öffnen und wieder schließen, im höchsten Fall wäre die Datei den ganzen Tag geöffnet.
Grüße
Daniel
AW: Einmalige Messagebox, wenn Bedinung
27.05.2005 15:01:32
Galenzo
Hallo,
ich wollte damit sagen, daß du dir eine eigene Funktion schreiben solltest.
Kurze Anleitung dazu:
ALT+F11 bringt dich in den VBA-Editor
Dort:"Einfügen/Modul"
Dorthinein den o.g. Code reinschreiben (kopieren/einfügen)
Damit hast du jetzt eine eigen Funktion erzeugt, die du in deinem Tabellenblatt verwenden kannst.
Du kannst den VBA-Editor jetzt wieder schließen.
Wenn du nun z.b. die Werte in A1 und B1 vergleichen willst, mit der Zielsetzung, bei Übereinstimmung eine Meldung zu bekommen, dann schreibst du in (irgend-)eine Zelle auf dem Blatt das hier: =Warner(A1;B1;"Warnung")
Funktioniert dann so wie alle anderen Funktionen (SUMME usw.) bloß mit der Ergänzung, daß eine Meldung kommt.
Wenn noch was unklar sein sollte - frag' ruhig...
Viel Erfolg!
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige