noobiiee1 Geschrieben 27. November 2008 Geschrieben 27. November 2008 Hallo zusammen Ich kann leider nur minimal was mit VBA. Mehr Codes nachvollziehen als selber schreiben !!! Ich will aus mehreren Zellen ständigt überprüft haben ob Sie unter einen bestimmten Wert liegen. Wenn Sie irgendwann mal darunter fallen soll eine Meldung kommen. Diese geht erst weg wenn mann auf "OK" geklickt hat. Bsp.: Aktienkurs XYZ wird durch das Bloomberg realtime im Excel aktualisert. Excel soll selber permanent (nach Excel-start oder nach einmaliger Aufforderung oder so) überprüfen ob der Aktienkurs einen best. Wert unterschreitet. Sobald der Kurs unter ABC liegt, soll ein PopUp Fenster erscheinen. Idee: ich muss nicht ständig selber den Aktienkurs überwachen. bzw. alle im Netzwerk habe dieses File offen und alle erhalten den Alert falls einer nicht am Platz ist. Wie gesagt bräuchte ich den vollständigen VBA Code zum copy-pasten. Wenn das jemand hinbekommt wär echt super!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Danke! Zitieren
Amstelchen Geschrieben 27. November 2008 Geschrieben 27. November 2008 vorab: muss das zwingend erst in excel geschehen oder habt ihr die möglichkeiten das im vorgelagerten system (bloomberg / POMS) zu machen? es gibt dort AFAIR ebenfalls die möglichkeit, alerts zu definieren. wenn das unbedingt in excel passieren soll: die realtime-kurse mittels einer schleife permanent abfragen, meinetwegen einen timer (via API-aufruf) dazwischen, der einige sekunden wartet. mittels einer if-bedingung ein popup/ein net send/eine e-mail triggern. ein gemeinsam über einen share zugreifbares excel ist in der praxis immer mit komplikationen verbunden (schreibschutz, makrosicherheit, usw. usf.). und nein, ich liefere dir hier keine fertige lösung. grund 1: das wird in deiner systemumgebung u.u. garnicht funktionieren. grund 2: mein brötchengeber bezahlt mich dafür leider nicht, ich mach das hier freiwillig :floet: grund 3: überspitzt ausgedrückt - wenn du es jetzt nicht lernst, wirst du es niemals lernen. s'Amstel Zitieren
noobiiee1 Geschrieben 28. November 2008 Autor Geschrieben 28. November 2008 Das Problem ist im BBg dass dann dort jeder die Alert selber reintun muss. Manchmal übersieht man die Alert einfach! Ich hab mir gedacht, dass alle Excel geöffnet hat aber nur einer immer die Alert einträgt, Ich. Dass sind ja nicht 1000 sondern 20 wenns hochkommt! Da nur ich die Datei Ändern kann, aber alle die Alerts bzw. den Excel Pop erhalten, wäre das die optimalste Lösung.... dachte ich. Was ich bisher irgendwie herausfand ist: Private Sub Worksheet_calculate() If Range("A1").Value > 4 Then MsgBox "Der Wert von 4 wurde überschritten!" End If End Sub Da taucht allerdings die msgbox die ganze zeit auf!! wenn du mir wenigsten einen abbruch oder so empfehlen könntest, wär ich dir wirklich dankbar! Zitieren
noobiiee1 Geschrieben 28. November 2008 Autor Geschrieben 28. November 2008 habe das nun folgendermassen hinbekommen (nach 3h einlese in vba und copy past von fertigen bsp. aus homepages: Private Sub Worksheet_calculate() If Range("J3").Value >= Range("I3").Value Then MsgBox "Der SMI hat die Limite bei Herrn ... überschritten! " End If If Range("J3").Value >= Range("I3").Value Then Range("J3").ClearContents End If If Range("J4").Value >= Range("I4").Value Then MsgBox "ABB hat die Limite bei Herrn ... überschritten! " End If If Range("J4").Value >= Range("I4").Value Then Range("J4").ClearContents End If End Sub wenn ich clearcontents nicht mache, hört er nicht wieder auf. so gehts wunderbar. CU und schönes Weekend! Zitieren
gelang(while)t Geschrieben 3. Februar 2009 Geschrieben 3. Februar 2009 Private Sub Worksheet_calculate() If Range("J3").Value >= Range("I3").Value Then MsgBox "Der SMI hat die Limite bei Herrn ... überschritten! " End If If Range("J3").Value >= Range("I3").Value Then Range("J3").ClearContents End If If Range("J4").Value >= Range("I4").Value Then MsgBox "ABB hat die Limite bei Herrn ... überschritten! " End If If Range("J4").Value >= Range("I4").Value Then Range("J4").ClearContents End If End Sub Also ich weiß ja nicht, aber du machst jeweils 2 IF-Abfragen für je 1 Fall um 2 Anweisungen auszuführen!!! einfacher meines Erachtens: If Range("J3").Value >= Range("I3").Value Then MsgBox "Der SMI hat die Limite bei Herrn ... überschritten! " Range("J3").ClearContents ElseIf Range("J4").Value >= Range("I4").Value Then MsgBox "ABB hat die Limite bei Herrn ... überschritten! " Range("J4").ClearContents End if greetz gelang(while)t Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.