Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1280to1284
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datum zwischen Anfangs- und Enddatum auffüllen

Datum zwischen Anfangs- und Enddatum auffüllen
08.10.2012 04:51:15
Kasimir
Hallo an alle Helfenden!
Ich hatte vor geraumer Zeit mal eine Formel oder ein Makro gefunden, welches mir zwischen einen Anfangs- und Enddatum in regelmäßigen oder unregelmäßigen Abständen Datumswerte schreibt. Was ich meine mal an einem Beispiel:
Anfangsdatum: 01.10.2012
Enddatum: 31.10.2012
Tabelle1

 AB
1 Datum
2Anfangsdatum:01.10.2012
3aufgefülltes Datum04.10.2012
4aufgefülltes Datum07.10.2012
5aufgefülltes Datum10.10.2012
6aufgefülltes Datum13.10.2012
7aufgefülltes Datum16.10.2012
8aufgefülltes Datum19.10.2012
9aufgefülltes Datum22.10.2012
10aufgefülltes Datum25.10.2012
11aufgefülltes Datum28.10.2012
12Enddatum:31.10.2012


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Wie im Beispiel zu sehen, soll im Abstand zwischen dem Anfangs- und Enddatum Datumswerte in Abständen von 3 Tagen aufgefüllt werden.
Weiß jemand, wie ich das am Einfachsten realisieren kann. Ich hatte, wie bereits eingangs erwähnt, so etwas schon mal gefunden, weiß nur nicht mehr wo.
Danke Euch schon mal im Voraus,
Kasimir

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum zwischen Anfangs- und Enddatum auffüllen
08.10.2012 07:32:04
Hans
Hallo Kasimir,
wie folgt:
Sub PrintDates() Dim lStart As Long, lEnd As Long, lDay As Long Dim iInt As Integer Dim iCol As Integer, iRow As Integer iInt = 3 iCol = 2 iRow = 1 lStart = CLng(Range("A1").Value) lEnd = CLng(Range("A2").Value) For lDay = lStart To lEnd Step iInt Cells(iRow, iCol).Value = CDate(lDay) iRow = iRow + 1 Next lDay End Sub Gruss hans

AW: Datum zwischen Anfangs- und Enddatum auffüllen
08.10.2012 08:30:27
UweD
Hallo
Annahme Daten stehen direkt untereinander,
Zeilen werden eingefügt:
Sub Datum_aufteilen()
On Error GoTo Fehler
Dim TB, Sp%, R1%, i%, Teiler%, Diff%, Anz%
Dim Start, Ende As Date
Set TB = ActiveSheet
Sp = 2 'Spalte B
R1 = 1 'Erste Zeile
Teiler = InputBox("Abstand?", , 3)
Application.ScreenUpdating = False
With TB
Start = TB.Cells(R1, Sp)
Ende = TB.Cells(R1 + 1, Sp)
Diff = Ende - Start
If Diff Mod Teiler  0 Then
MsgBox "Keine gleichmäßige Aufteilung möglich"
Exit Sub
End If
For i = (Diff / Teiler) - 1 To 1 Step -1
.Rows(R1 + 1).Insert xlDown
.Cells(R1 + 1, Sp).Value = Start + i * Teiler
Next
End With
Err.Clear
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Gruß UweD

Anzeige
AW: Datum zwischen Anfangs- und Enddatum auffüllen
08.10.2012 20:15:56
Kasimir
Hallo an Alle!
Sorry, dass ich erst so spät reagiere, aber der Arbeitstag war hart und lange. Ich danke Euch für Eure Vorschläge. Ich werde diese in den nächsten Tagen testen. Sollte ich noch Fragen dazu haben, werde ich mich wieder melden. Bis dahin noch eine schöne Woche.
MfG
Kasimi

noch zwei Makros
08.10.2012 13:28:45
Erich
Hi Kasimir,
wo sollen Anfangs- und Enddatum und die Schrittweite vorgegeben werden?
Hier mal zwei weitere VBA-Makro-Versionen:
 ABCD
1Start01.10.2012  
2Ende20.10.2012  
3Intervall-Tage3  
4Ausgabe abA7  
5    
6DatumslisteEDatumslisteVDiffEDiffV
701.10.201201.10.2012  
804.10.201204.10.201233
907.10.201206.10.201232
1010.10.201209.10.201233
1113.10.201212.10.201233
1216.10.201215.10.201233
1319.10.201217.10.201232
1420.10.201220.10.201213

Formeln der Tabelle
ZelleFormel
C8=A8-A7
D8=B8-B7


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
In den Spalten C und D siehst du die Differenzen zwischen den Tagen in A und B.
Welche Version brauchst du?
Und hier die Codes dazu:

Option Explicit
Sub DatumslisteE()
Dim arrD() As Date, ii As Long
ReDim arrD(1 To 1 + Int((Cells(2, 2) - Cells(1, 2) + Cells(3, 2) - 1) / Cells(3, 2)), 0)
For ii = 1 To UBound(arrD)
arrD(ii, 0) = Application.Min(Cells(1, 2) + (ii - 1) * Cells(3, 2), Cells(2, 2))
Next ii
With Range(Cells(4, 2)).Resize(UBound(arrD))
.NumberFormatLocal = "TT.MM.JJJJ"
.Value = arrD
End With
End Sub
Sub DatumslisteV()
Dim arrD() As Date, dblD As Double, ii As Long
ReDim arrD(1 To 1 + Int((Cells(2, 2) - Cells(1, 2) + Cells(3, 2) - 1) / Cells(3, 2)), 0)
dblD = (Cells(2, 2) - Cells(1, 2)) / (UBound(arrD) - 1)
For ii = 1 To UBound(arrD)
arrD(ii, 0) = Application.Round(Cells(1, 2) + (ii - 1) * dblD, 0)
Next ii
With Range(Cells(4, 2)).Offset(, 1).Resize(UBound(arrD))
.NumberFormatLocal = "TT.MM.JJJJ"
.Value = arrD
End With
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige