Thema Datum  Von Nutzer Rating
Antwort
08.11.2010 17:54:30 toni
NotSolved
10.11.2010 12:15:42 Holger
NotSolved
Rot Aw:Aw:Schleifen
13.11.2010 15:29:08 Holger
NotSolved
16.11.2010 20:38:36 toni
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
13.11.2010 15:29:08
Views:
824
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Schleifen
Ich finde es sehr unhöflich, gar nicht auf einen Beitrag zu antworten!



Holger schrieb am 10.11.2010 12:15:42:

Hallo toni,
das kann schon deshalb nicht laufen, weil das Geburtsjahr sich vom laufenden Jahr unterscheidet. Es gibt sicherlich viele Möglichkeiten, das Problem zu beheben. Vielleicht kommt

If DateSerial(Year(Date), Month(Cells(1, 1)), Day(Cells(1, 1))) - Date < 22

deinem bisherigen Ansatz am nächsten.

Die E-Mail-Adresse fasse als String auf. Dann kannst du z.B. mit der Instr-Funktion die Position des @ feststellen und mit der Länge der Adresse (Len-Funktion) vergleichen. Ist die Position 0, ist @ nicht vorhanden, ist sie 1, steht kein Zeichen davor, ist sie gleich der Länge, steht keines dahinter. Solltest du dich für die Zeichen interessieren, kannst du z.B. mit der Mid-Funktion die Zeichen links und rechts vom @ bestimmen.
Ähnlich verfährst du mit dem Punkt, nur dass du die InStrRev-Funktion verwendest. Länge der Adresse und Position müssen sich genau um 2 unterscheiden, wenn auf den Punkt 2 Zeichen folgen sollen.

Gruß
Holger


toni schrieb am 08.11.2010 17:54:30:

Hallo. ich habe folgende Problematik. Es handelt sich um eine Hausarbeit in Informatik. Und zwar soll in Excel eine Freundesliste mit Daten wie zB name, geburtsdatum, e-mail usw ...
meine Aufgabe ist nun mit vba zu überprüfen wer in den nächsten 21 Tagen Geburtstag hat, wenn dies der fall ist dann soll die zeile mit den daten der person rot eingefärbt werden. Zusätzlich soll die e-mail addresse auf das ‚@‘-Zeichen mit mindestens 1 Zeichen davor und dahinter, dann 1 Punkt mit mindestens 2 weiteren Zeichen dahinter geprüft werden. Nach endlosen Recherchen bin ich ziemlich ratlos.

Mein Ansatz bis jetzt:

Sub Freundesliste()
Dim rngZelle As Range
Dim rngSpalte As Range
Set rngSpalte = Sheets("Tabelle1").Range("D2:D11")
For Each rngZelle In rngSpalte
If ...Berechnung ob Geburtsdatum innerhalb der nächsten 21 tage ist z.B. (rngZelle.Value - Date < 21)?? ... Then Range(Zeile des Freundes).InteriorColor = vbRed
Else
Next rngZelle

funktioniert leider nicht...

zur Schleife mit der E-Mail hab ich überhaupt keine idee.

Bin dankbar für jede Hilfe

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
08.11.2010 17:54:30 toni
NotSolved
10.11.2010 12:15:42 Holger
NotSolved
Rot Aw:Aw:Schleifen
13.11.2010 15:29:08 Holger
NotSolved
16.11.2010 20:38:36 toni
NotSolved