Autor
|
Thema: Bedingte Formatierung auslesen und abhängig davon eine email senden (5202 mal gelesen)
|
Enrico1990 Mitglied
Beiträge: 7 Registriert: 23.04.2012
|
erstellt am: 23. Apr. 2012 10:37 <-- editieren / zitieren --> Unities abgeben:
Hallo liebes Helferteam, ich habe ein kleines, bzw. doch auch schon größeres Problem. Ich habe 2 Spalten die durch eine bedingte Formatierung 3 Farben (rot geld und grün) ausgeben. Die Spalten 1 gehört zu einer Person x die 2. zu einer Person y Meine Frage: Wenn ich auf eine Schaltfläche "Senden()" klicke soll mittels VBA ausgelesen werden: - welche Zellen der beiden Spalten gelb und rot sind. - und eine email generiert wird die entsprechend an x oder y geschickt wird, je nachdem wenn es betrifft. Leider habe ich von VBA sehr wenig Ahnung (das reine erstellen einer email) habe ich noch hinbekommen, jedoch die Verknüpfung mit den Formatierung bekomme ich nicht hin. Vielen Dank schonaml für eure Hilfe. LG Enrico Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hofe Mitglied Werkzeugmacher
Beiträge: 439 Registriert: 12.01.2008 Computer: Aldi Schreibtisch: Ikea Werkbank: Baumarkt Software: 1967-2021, viele Updates und SP's, aber sicher nicht alle, deswegen immer wieder Sicherheitslücken
|
erstellt am: 23. Apr. 2012 10:51 <-- editieren / zitieren --> Unities abgeben: Nur für Enrico1990
Moin! Daran habe ich mich neulich auch versucht und habs nicht hingekriegt. Ich habe dann einfach in VBA dieselben Bedingungen gesetzt wie in der bedingten Formatierung. Grüße Hofe ------------------ Ist mir egal, wer Dein Vater ist; solange ich angle läuft hier keiner übers Wasser! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Enrico1990 Mitglied
Beiträge: 7 Registriert: 23.04.2012
|
erstellt am: 23. Apr. 2012 10:56 <-- editieren / zitieren --> Unities abgeben:
|
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 23. Apr. 2012 11:06 <-- editieren / zitieren --> Unities abgeben: Nur für Enrico1990
Hallo zusammen, die Reihenfolge ist doch diese: Bedingung --> Farbe, nicht umgekehrt. Warum dann die Farbe auslesen, die schließlich rückwärts wieder zur Bedingung führt ? Würde es so lösen, wie Hofe (und vermute - ungetestet - dass das in VBA sogar schneller ist, als der doppelte Rückwärtsgang).In VBA läuft das über If... Then... [Else...], also Falls Zellinhalt > Bedingung (oder was auch immer), dann... ------------------ DIN1055.de | Lastannahmen für Anwender Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Enrico1990 Mitglied
Beiträge: 7 Registriert: 23.04.2012
|
erstellt am: 23. Apr. 2012 11:11 <-- editieren / zitieren --> Unities abgeben:
Hallo Hofe, ich hab gemerkt da fehlte noch was. 1. bed. Formatierung =$J$10<HEUTE() --> rot 2. Zellwert kleiner als =$J$10>HEUTE()+30 --> grün 3. Zellwert zwischen =$J$10=HEUTE()-30 --> geld diese Formatierung gilt für beide Spalten. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Enrico1990 Mitglied
Beiträge: 7 Registriert: 23.04.2012
|
erstellt am: 23. Apr. 2012 11:13 <-- editieren / zitieren --> Unities abgeben:
|
Enrico1990 Mitglied
Beiträge: 7 Registriert: 23.04.2012
|
erstellt am: 23. Apr. 2012 11:22 <-- editieren / zitieren --> Unities abgeben:
Hallo ich nochmal.. hab jetzt folgendes Sub Senden() If "J10" < HEUTE() And "J10" > HEUTE() + 30 Then Set sh = CreateObject("Shell.Application") sh.ShellExecute "mailto:...." End Sub kommt aber ein Fehler beim Kompilieren
[Diese Nachricht wurde von Enrico1990 am 23. Apr. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 23. Apr. 2012 11:31 <-- editieren / zitieren --> Unities abgeben: Nur für Enrico1990
|
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 23. Apr. 2012 11:43 <-- editieren / zitieren --> Unities abgeben: Nur für Enrico1990
In welcher Reihenfolge stehen Deine Formatierungen? Die von Dir zuletzt genannte wird niemals aktiv werden, wenn sie nach der ersten steht, da das "kleiner" das "gleich" überschreibt --> auch ein Wert, der genau 30 Tage vor HEUTE liegt, wird rot formatiert, jedoch nicht gelb ;-). Abhilfe: Gelbe Bedingung vor die rote stellen. ------------------ DIN1055.de | Lastannahmen für Anwender Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Enrico1990 Mitglied
Beiträge: 7 Registriert: 23.04.2012
|
erstellt am: 23. Apr. 2012 11:45 <-- editieren / zitieren --> Unities abgeben:
|
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 23. Apr. 2012 11:54 <-- editieren / zitieren --> Unities abgeben: Nur für Enrico1990
Hi, liegt daran, dass TODAY auch nicht definiert ist. Teste mal diesen Code: Sub sendMessageToXY()Dim controlValue As Double Dim todayValue As Double controlValue = Range("J10").Value 'falls gelb oder rot --> auf gut Deutsch: Falls J10 <= HEUTE oder J10 = HEUTE-30 (Reihenfolge vertauschen im Code!) todayValue = Date If controlValue = todayValue - 30 Then MsgBox "Spalte J gelb", vbOKOnly + vbInformation, "Hinweis" ElseIf controlValue <= todayValue Then MsgBox "Spalte J rot", vbOKOnly + vbInformation, "Hinweis" Else MsgBox "Nichtstun", vbOKOnly + vbInformation, "Hinweis" End If
------------------ DIN1055.de | Lastannahmen für Anwender Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Enrico1990 Mitglied
Beiträge: 7 Registriert: 23.04.2012
|
erstellt am: 23. Apr. 2012 13:03 <-- editieren / zitieren --> Unities abgeben:
Hallo Paulchen, ich hab das versucht umzusetzen. Es geht teilweise, aber hat noch Macken. Ich geb erstmal auf, bedanke mich für die Geduld und Mühen. Kann man dir ggf. die Datei auch zukommen lassen, falls ich hier die Woche garnicht mehr zurecht komme? VG Eric Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 23. Apr. 2012 13:28 <-- editieren / zitieren --> Unities abgeben: Nur für Enrico1990
Hallo Enrico, Zitat: ich hab das versucht umzusetzen.
Sehr schön! Zitat: Es geht teilweise, aber hat noch Macken.
Das ist völlig normal , wird schon. Datei zukommen lassen kannst Du mir schon (PM) - allerdings bevorzuge ich die Variante einer anonymisierten Mappe hier im Beitrag, damit alle was davon haben bzw. mitreden können, denn dafür ist dieses Forum schließlich da. Teste ruhig noch ein bisschen, dann lichten sich die Schatten. Wenn Du an konkreten Stellen festhängst, wird Dir hier gerne geholfen.
------------------ DIN1055.de | Lastannahmen für Anwender Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |