Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1164to1168
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

Array mit anderer Reihenfolge ausgeben

Array mit anderer Reihenfolge ausgeben
Peter
Guten Tag
Im untenstehenden Code gibt die Codezeile
Sheets("Auswertung").Range("E3").Resize(2, UBound(out, 2)) = out 'Ausgeben
das Array ab Spalte Spalte E und F aus. In Spalte E sind die tiefsten Daten und in den folgenden Spalten immer ein Monat "höher".
Wie kann ich den Code umstellen, dass die neusten Daten in Spalte E ausgegeben werden und in den folgenden dann immer die älteren?
Beispiel in Bezug auf Zeile 3:
bisher: Zelle E3: 01.01.2009; F3: 01.02.2009; G3: 01.03.2009 .... V3: 01.06.2010
neu: Zelle E3: 01.06.2010; F3; 01.05.2010; G3: 01.04.2010 .... V3: 01.01.2009
Danke für jede Hilfe.
Gruss, Peter
Public Sub VonbisDatumEintragen()
Dim out() As Variant 'Ausgabe Array
Dim Z As Integer 'Ein Zähler
Dim minDatum As Date
Dim maxDatum As Date
Dim bereich As Range
Z = 0
'ReDim Preserve out(1 To 2, 1 To Z)
minDatum = WorksheetFunction.Min(Range("psDatum"))
maxDatum = WorksheetFunction.Max(Range("psDatum"))
Do
Z = Z + 1
ReDim Preserve out(1 To 2, 1 To Z)
out(1, Z) = DateSerial(Year(minDatum), Month(minDatum) + Z - 1, 1)
out(2, Z) = DateSerial(Year(minDatum), Month(minDatum) + Z, 0)
Loop Until out(1, Z) = CLng(DateSerial(Year(maxDatum), Month(maxDatum), 1)) 'Bis der  _
Monatserste von minDatum =der Monatserste von maxDatum
'spaltenweise Ausgabe des ergebnisses
Sheets("Auswertung").Range("E3").Resize(2, UBound(out, 2)) = out 'Ausgeben
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Array rückwärts füllen
06.07.2010 10:24:55
Erich
Hi Peter,
so?

Public Sub VonbisDatumEintragen()
Dim out() As Date 'Ausgabe Array      ' warum Variant, ist doch Date
Dim zz As Long    'Ein Zähler
Dim minDatum As Date, maxDatum As Date
Dim lngM As Long  ' Anzahl Monate
minDatum = WorksheetFunction.Min(Range("psDatum"))
maxDatum = WorksheetFunction.Max(Range("psDatum"))
lngM = 12 * (Year(maxDatum) - Year(minDatum)) _
+ Month(maxDatum) - Month(minDatum) + 1
ReDim out(1 To 2, 1 To lngM)
For zz = 1 To lngM
out(1, lngM - zz + 1) = DateSerial(Year(minDatum), Month(minDatum) + zz - 1, 1)
out(2, lngM - zz + 1) = DateSerial(Year(minDatum), Month(minDatum) + zz, 0)
Next zz
'spaltenweise Ausgabe des ergebnisses
Sheets("Auswertung").Range("E3").Resize(2, UBound(out, 2)) = out 'Ausgeben
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Array rückwärts füllen
06.07.2010 17:15:23
Peter
Hallo Erich
Das hat auf Anhieb geklappt!
Vielen Dank und schöner Feierabend.
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige