Datum errechnen

Dieses Thema Datum errechnen im Forum "Microsoft Office Suite" wurde erstellt von Mischi89, 9. Mai 2006.

Thema: Datum errechnen hi, ich habe rund 50 tabellen und in jeder in den Zellen A5,A9,A13,A17,A21,A25 und A29 die Wochentage von oben nach...

  1. hi, ich habe rund 50 tabellen und in jeder in den Zellen A5,A9,A13,A17,A21,A25 und A29 die Wochentage von oben nach unten als TT.MM.YYYY stehen. gibt es eine formel die mir die daten für die nächsten wochen ausrechnen kann? ich habe probiert von Montag 08.05.2006 (in zahlen: 38845) die nächsten 2 Tage (A9 und A13) zu errechnen bloss ich bin etwas ratlos was excel angeht ;) und erst recht mit den funktionen! ich habe dies probiert:

    =WENN(A5=38845;(A9=38845+1;A13=38845+2);(A9=38845+1;A13=38845+2))

    geht aba irgendwie net... wär nett wenn es auf beide fragen antworten gäbe ;)

    1. allgemeine formel für die daten?
    2. meine kuhle rechnung xD
     
  2. hm hab die 38xxx durch A5 ersetzt und ging auch net ===> =WENN(A5=38845;(A9=A5+1;A13=A5+2);(A9=A5+1;A13=A5+2))
     
  3. Irgendwie verstehe ich nicht so recht was Du machen möchtest :?

    A5 = Erste datum der Woche z.B. 08.05.2006

    A9 = A5+1

    A13 = A5+2

    usw.
     
  4. hm naja ich will nich alle 56 Tabellen durchgehen und dort immerwieder das Datum umtippen... ich hab halt hiermit gefragt ob ich in ein paar schritten bei allen 56 wochen (/tabellen) das Datum errechnen kann
     
  5. Wenn ich dich jetzt richtig verstehe, sind die TAbellen schon komplett mit Daten vorhanden.
    Dann wird dir sicherlich nur die Programmierung weiterhelfen.

    Soetwas macht eigentlich auch vorher.

    Wenn keine daten vorhanden.

    Erste Tabelle alles wie in Antwort2 erstellen, alles markieren kopieren und anschließend in jede Tabelle gehen und einfügen,

    BEi A5 in Tabelle zwei könntest Du dich zb. dann gleich noch auf Tabelle1 beziehen, sonst müsstest Du immer dass erste datum jeder Tabelle manuell ändern.

    Vllt kommt ja noch die entscheidende Antwort für dich. :-\
     
  6. versteh ich net... hab in tabelle 1 bei a5 jetz 08.05.2006 stehn... bei den anderen (a9,a13,a17,a21,a25,a29) habe ich immer =a5+1/2/...

    in tabelle 2 hab ich bei a5: =Tabelle1!A5+7

    in tabelle 3 müsste ich das dann trotzdem in =Tabelle2!A5+7 umändern damit es dann bei den anderen tagen funzen soll

    die ganze sache is mir noch zuuu manuell :|
     
  7. Hallo Mischi89,

    ich hab dir mal eine Makro für dein Datum-Schreiben zusammengestellt.

    Wichtige Voraussetzung dafür ist ein gleichmäßiger Tabellenname mit fortlaufender Nummer, Also z.B Tabelle1, Tabelle2, Tabelle3 oder auch kW23, kW24, kW25...

    Auf dem 1.Tabellenblatt muß das Datum des ersten Tages ausgefüllt sein (also A5). Den Rest macht dann das Makro in 1 sec  ;D
    (mit einem Pentium II vielleicht auch 2  sec )
    Zur Sicherheit werden die Zelle vor dem Ausfüllen auch formatiert.(dd.mm.yyyy)

    Gruß Matjes :)
    Code:
    Sub DatumEinfuegenA5A9A13A17A21A25A29()
    
    'In->Tabelle1' muß A5 als Datum formatiert und ausgefüllt sein
    'Alle weiteren Tabellen, deren Tabellenname mit Tabelle anfängt,
    'werden dann automatisch ausgefüllt.
    'Aus der Nummer im Tabellennamen wird die Distanz in Wochen zu
    'dem Datum in->Tabelle1' errechnet,
    'z.B. Tabelle1 zu Tabelle5 entspricht 28Tage.
    'Die Tabellennamen müssen daher lückenlos aufsteigend nummeriert sein.
    
    
     -><<< A N P A S E N >>>
      Const c_TAB_NAME_WURZEL = Tabelle
      Const c_ANFANG_MIT_TABNR = 1
     -><<< A N P A S E N    E N D E >>>
      Const c_FORMAT_DATUM = dd.mm.yyyy
      
     ->Range der Tage
      Const c_TAG1 = A5
      Const c_TAG2 = A9
      Const c_TAG3 = A13
      Const c_TAG4 = A17
      Const c_TAG5 = A21
      Const c_TAG6 = A25
      Const c_TAG7 = A29
      
      Dim wb As Workbook, ws As Worksheet
      Dim TabName As String, dAnfDatum As Date
      Dim Tabnr As Long, dDatum As Date
      
     ->aktive Mappe setzen
      Set wb = ActiveWorkbook
      
     ->Tabellenname für Anfangsdatum
      TabName = c_TAB_NAME_WURZEL & c_ANFANG_MIT_TABNR
      On Error Resume Next
      Set ws = wb.Worksheets(TabName)
      If Err.Number <> 0 Then Err.Clear
      If ws Is Nothing Then
        MsgBox Anfangsblatt  & TabName &  nicht vorhanden.
        GoTo AUFRAEUMEN
      End If
      
     ->Anfangsdatum prüfen
      If Not IsDate(ws.Range(c_TAG1)) Then
        MsgBox c_TAG1 &  auf dem Anfangsblatt  & TabName &  enthält kein Datum.
        GoTo AUFRAEUMEN
      End If
      
     ->Anfangsdatum holen
      dAnfDatum = ws.Range(c_TAG1)
      
     ->Datum auf Anfangsblatt setzen
      ws.Range(c_TAG1).NumberFormat = c_FORMAT_DATUM
      ws.Range(c_TAG1).Value = dAnfDatum
      ws.Range(c_TAG2).NumberFormat = c_FORMAT_DATUM
      ws.Range(c_TAG2).Value = dAnfDatum + 1
      ws.Range(c_TAG3).NumberFormat = c_FORMAT_DATUM
      ws.Range(c_TAG3).Value = dAnfDatum + 2
      ws.Range(c_TAG4).NumberFormat = c_FORMAT_DATUM
      ws.Range(c_TAG4).Value = dAnfDatum + 3
      ws.Range(c_TAG5).NumberFormat = c_FORMAT_DATUM
      ws.Range(c_TAG5).Value = dAnfDatum + 4
      ws.Range(c_TAG6).NumberFormat = c_FORMAT_DATUM
      ws.Range(c_TAG6).Value = dAnfDatum + 5
      ws.Range(c_TAG7).NumberFormat = c_FORMAT_DATUM
      ws.Range(c_TAG7).Value = dAnfDatum + 6
      
      Tabnr = c_ANFANG_MIT_TABNR
      
      Do
       ->nächster Tabellenname
        Tabnr = Tabnr + 1
        TabName = c_TAB_NAME_WURZEL & Tabnr
        
       ->Tabellenblatt sezen
        On Error Resume Next
        Set ws = wb.Worksheets(TabName)
        If Err.Number <> 0 Then
          Err.Clear
          MsgBox _
            Blatt  & TabName &  nicht gefunden. & vbLf & _
            Makro beendet.
          GoTo AUFRAEUMEN
        End If
        
       ->Anfangsdatum des Blattes bestimmen
        dDatum = dAnfDatum + 7 * (Tabnr - c_ANFANG_MIT_TABNR)
        
       ->Datum auf Anfangsblatt setzen
        ws.Range(c_TAG1).NumberFormat = c_FORMAT_DATUM
        ws.Range(c_TAG1).Value = dDatum
        ws.Range(c_TAG2).NumberFormat = c_FORMAT_DATUM
        ws.Range(c_TAG2).Value = dDatum + 1
        ws.Range(c_TAG3).NumberFormat = c_FORMAT_DATUM
        ws.Range(c_TAG3).Value = dDatum + 2
        ws.Range(c_TAG4).NumberFormat = c_FORMAT_DATUM
        ws.Range(c_TAG4).Value = dDatum + 3
        ws.Range(c_TAG5).NumberFormat = c_FORMAT_DATUM
        ws.Range(c_TAG5).Value = dDatum + 4
        ws.Range(c_TAG6).NumberFormat = c_FORMAT_DATUM
        ws.Range(c_TAG6).Value = dDatum + 5
        ws.Range(c_TAG7).NumberFormat = c_FORMAT_DATUM
        ws.Range(c_TAG7).Value = dDatum + 6
    
      Loop
    AUFRAEUMEN:
      Set wb = Nothing: Set ws = Nothing
    End Sub
     

    Gruß Matjes :)
     
  8. puhhhh danke ^^ ich versuchs gleich mal...
     
  9. kann ich das da jetz einfach kopieren und dann geh ich in VBA in tabelle 1 und füge das sein?
     
  10. jo es klappt :p danke ^^
     
Die Seite wird geladen...

Datum errechnen - Ähnliche Themen

Forum Datum
Datum errechnen Windows XP Forum 6. Apr. 2005
Uhrzeit und Datum aktualisieren sowie TrayAppMeldung löschen Windows 8 Forum 27. Juni 2015
Datum und Uhrzeit Windows 8 Forum 25. Juni 2015
Datei Erstellungsdatum als Beweis für Krankenkasse Datenwiederherstellung 24. Juni 2015
[Fehler] Datum/Typ in "Programme deinstallieren" fehlt Windows 8 Forum 28. Dez. 2014