Office: Suche nach dem Datum (VBA)

Helfe beim Thema Suche nach dem Datum (VBA) in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo! Kann mir jemand bei dieser Aufgabe helfen? Bitte nicht über Sinn oder Unsinn dieses Problems diskutieren. In A1 steht ein Datum und in B1... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von ocin_letreo, 21. April 2007.

  1. Suche nach dem Datum (VBA)


    Hallo!

    Kann mir jemand bei dieser Aufgabe helfen? Bitte nicht über Sinn oder Unsinn dieses Problems diskutieren.

    In A1 steht ein Datum und in B1 steht ein Datum (A1<B1). Nun soll über ein Makro folgendes gelöst werden:

    Wie oft kommt in diesem Zeitraum z.B. Freitag der 13. vor (dabei steht der Wert "13" in A3 und das Wort "Freitag" in C3) vor. Soll natürlich auch mit anderen Tagen funktioneren.


    Zusatz wäre, wie oft in diesem Zeitraum z.B. der 13. April ( "April" würde dann in B3 stehen) auf einem Freitag fällt.

    Mal ein Beispiel:

    Eingabe:
    A1=1.1.1906
    B1=31.12.2543

    A3= 13
    B3= April
    C3= Freitag

    Ausgabe:
    A5 abwärts = alle 13. die auf einem Freitag fallen
    B5 abwärts = alle 13. April die auf einem Freitag fallen


    Kann man das überhaupt mittels VBA lösen?

    Wäre sehr für eure Hilfe dankbar.


    gruß

    Nico
     
    ocin_letreo, 21. April 2007
    #1
  2. schatzi Super-Moderator
    Hallo!

    Meiner Meinung nach müsste das sogar OHNE VBA machbar sein.
    Wie universell brauchst du's denn wirklich?

    =Summenprodukt((Jahr(A1:A1000)=2007)*(Monat(A1:A1000)=3)*(Tag(A1:A1000)=13)*(Wochentag(A1:A1000)=6))

    gibt dir die Anzahl aller Freitage, die auf einen 13. fallen im März 2007.
    Das sind zugegebenermaßen nicht allzu viele...
    Aber als Ansatz nicht schlecht, oder?

    Für konkretere Lösungen bitte mehr Infos...
     
    schatzi, 21. April 2007
    #2
  3. Hallo!

    @schatzi

    Danke schonmal! Aber wenn ich es so einfach gewollt hätte, hätte ich es wahrscheinlich selbst hinbekommen ;-) . Ich will ja das die Datums nach unten aufgelistet werden, nicht nur die Anzahl. Das im März nicht soviele Freitag der 13 gibt ist ja logisch. Deswegen ist im Beispiel ja auch ein Zeitraum von ein paar Jahrhunderten angegeben. Freitag der 13. ist übrigens NUR ein Beispiel. Könnte auch der 20. Mai bzw Donnerstag der 20. Mai sein.

    Ich weiß nicht genau was du noch für Informationen brauchst. Ich bin eigentlich der Meinung alles relevante aufgeführt zu haben. Falls das nicht Fall sein sollte, einfach nochmal nachfragen :-)


    @all

    Bin weiterhin für alle Lösungen dankbar.

    gruß

    Nico
     
    ocin_letreo, 22. April 2007
    #3
  4. schatzi Super-Moderator

    Suche nach dem Datum (VBA)

    Hallo!

    Du hast recht, ich habe deine Anfrage zu nachlässig gelesen...

    Mit meinen spärlichen VBA-Kenntnissen habe ich jetzt dies zusammen geschustert:

    Code:
    Sub Datum_filtern()
    Dim Start As Long, Ende As Long
    Dim Jahr As Integer, Monat As Integer, Tag As Integer, Wochentag As Integer
    Dim Zähler As Long, Treffer As Integer
    Dim Beginn As Range
    Start = Range("A1").Value 'Startdatum muss in A1 stehen
    Ende = Range("A2").Value 'Enddatum muss in A2 stehen
    Jahr = Range("A3").Value 'In A3 kann optional ein Suchjahr stehen
    Monat = Range("A4").Value 'In A4 kann optional ein Suchmonat stehen
    Tag = Range("A5").Value 'In A5 kann optional ein Suchtag stehen
    Wochentag = Range("A6").Value 'In A6 kann optional ein Suchwochentag stehen
    'Der Wochentag wird als Zahl angegeben:
    'Montag = 1
    'Dienstag = 2
    'usw. bis Sonntag = 7
    Set Beginn = Application.InputBox("Die Daten werden untereinander aufgelistet." & _
    Chr(13) & "Bitte die Startzelle eingeben oder anklicken:", Type:=8)
    For Zähler = Start To Ende
    If (Jahr = 0 Or Jahr = DatePart("yyyy", Zähler)) And _
    (Monat = 0 Or Monat = DatePart("m", Zähler)) And _
    (Tag = 0 Or Tag = DatePart("d", Zähler)) And _
    (Wochentag = 0 Or Wochentag = DatePart("w", Zähler, vbMonday)) Then
    Beginn.Offset(Treffer, 0).Value = Zähler
    Beginn.Offset(Treffer, 0).NumberFormat = "DDD, DD.MM.YYYY"
    'Den Zellen wird das Format "So, 01.01.2007" zugewiesen
    Treffer = Treffer + 1
    End If
    Next Zähler
    End Sub
    Und siehe da: Es scheint zu funktionieren!
    Die Zellen mit den Eingabewerten kannst du auf deine Wünsche anpassen.
    Während des Makros wirst du gefragt, ab wo die entsprechenden Daten aufgelistet werden sollen.

    PS: Nur mal interessehalber: Wofür braucht man sowas?
     
    schatzi, 22. April 2007
    #4
  5. schnake Erfahrener User
    alle 13. die auf einem Freitag fallen => 1097
    alle 13. April die auf einem Freitag fallen => 93

    *fg*
     
    schnake, 22. April 2007
    #5
  6. @schatzi

    Vielen Dank für deine Hilfe. So scheint es tatsächlich zu funktionieren. :-D
    Mit deiner Korrektur geht es noch besser(bequemer).

    Wieso verbraucht schnake's Version soviele Ressourcen?

    Das gehört zu einem Statistik-Projekt.

    @schnake

    Sehr schöne Aufmachung. Vielen Dank für deine Arbeit. ABER bei schatzi's Version wird bei weitem nicht soviel Rechenleistung gebraucht. Nichts für ungut.


    Gruß und schönen Sonntag noch.

    Nico
     
    ocin_letreo, 22. April 2007
    #6
  7. schnake Erfahrener User
    sorry...
     
    schnake, 22. April 2007
    #7
  8. Suche nach dem Datum (VBA)


    Du brauchst dich doch nicht entschuldigen. Es ist doch schön zu sehen, das es verschiedene Lösungswege gibt.


    Gruß

    Nico
     
    ocin_letreo, 22. April 2007
    #8
Thema:

Suche nach dem Datum (VBA)

Die Seite wird geladen...
  1. Suche nach dem Datum (VBA) - Similar Threads - Suche Datum VBA

  2. Datum Suchen

    in Microsoft Excel Hilfe
    Datum Suchen: Hallo! Situation: In einem Formular wird ein Name einer Produktionsmaschine eingetragen. In einem anderem Textfeld steht das Lieferdatum. Bei klicken auf "Speichern" wird das Lieferdatum...
  3. Suche Datum mit >= "Startdatum" und <= "Enddatum

    in Microsoft Excel Hilfe
    Suche Datum mit >= "Startdatum" und <= "Enddatum: Hallo Forengemeinde, ich versuche derzeit eine Tabelle mit Daten mit Daten aus einer anderen Tabelle zu kombinieren. Hierzu soll ein Wert, in Abhängigkeit des Datums herausgesucht werden. In...
  4. VBA mit Variable suchen und datum setzen?

    in Microsoft Excel Hilfe
    VBA mit Variable suchen und datum setzen?: Hallo ich sitze vor folgendem Problem. in der Zelle C3 habe ich einen Wert der sich durch ein Makro ändert. Diese Zahl ist auch gleich der Spalte A 9 bis 70. Nun möchte ich ein Makro, dass mir...
  5. Tag und Monat in Datum suchen

    in Microsoft Excel Hilfe
    Tag und Monat in Datum suchen: Hallo zusammen, ich suche und versuche schon eine Weile rum, komme aber nicht weiter. Und zwar suche ich eine Formel, mit der ich den Tag und den Monat des heutigen Tages in einer Spalte mit...
  6. Wert in B suchen und in H Datum

    in Microsoft Excel Hilfe
    Wert in B suchen und in H Datum: Hallo zusammen und einen guten Abend Ich hänge mal wieder fest. Ich bin auf der suche nach einem Code der mir in Spalte B einen Wert sucht den ich in N5 eigebe. Wenn der Wert gefunden wurde...
  7. Excel VBA suche Problem bei Datum (find Methode)

    in Microsoft Excel Hilfe
    Excel VBA suche Problem bei Datum (find Methode): Hallo zusammen! Ich bin heute auf ein Thema gestossen das mich ehrlich gesagt an den Rand der Verzweiflung führt! Ich beabsichtige ein Datum in einer Zeile/ Spalte zu finden, um dann mit der...
  8. per VBA nach Datum aus best. Zelle in Spalte suchen

    in Microsoft Excel Hilfe
    per VBA nach Datum aus best. Zelle in Spalte suchen: hallo zusammen, ich versuche folgendes: Ich habe ein Userform erstellt mit 10 verschiendenen Textboxen. In diese Textboxen sollen Variablen (Zahlen) eingegeben werden. Nach Betätigung des...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden