Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Auslesen des Jahres in VBA

Auslesen des Jahres in VBA
Robert
Hallo Zusammen,
ich hoffe, ihr könnt mir helfen.
Ich suche in VBA die Möglichkeit, dass ein Makro eine Spalte nach unten durchläuft (in den Zeilen befindet sich jeweils ein Datum, welche chronologisch sortiert sind) und sich dann die Zeilennummer merkt, sofern ein Jahreswechsel stattfindet.
Ich hätte es zunächst mal mit einer while schleife versucht, mit der ich jedoch scheitere, weil ich nicht weiß, wie ich VBA die Jahreszahl "erklären" soll.
Wisst Ihr eine Lösung?
Vielen Dank & Viele Grüße
Robert
Anzeige

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

Betreff
Benutzer
Anzeige
Jahre vergleichen in VBA
23.02.2011 08:36:00
Erich
Hi Robert,
die VBA-Funktion dafür heißt Year(). War das deione Frage?
Deine While-Schleife könnte im Prinzip so beginnen:
while year(cells(lngZ, 3)) = year(cells(lngZ + 1, 3))
lngZ=lngZ + 1
wend
Danach ist in cells(lngz+1,3) ein anderes Jahr (oder gar kein Datum - Start und Ende der Schleife musst du festlegen,
ich kenne weder deinen Code noch deine Tabelle.)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Jahre vergleichen in VBA
23.02.2011 11:50:59
Robert
Hallo Erich,
vielen Dank für die Rückmeldung; manchmal ist Excel sehr sehr einfach; funktioniert wunderbar.
Excel soll einfach die Zeitreihe durchlaufen und sich die Zeile eines jeden Jahreswechsels merken;
diese Info wird dann später in eine Formel für eine Zelle übergeben.
Viele Grüße
Robert
Anzeige
AW: Jahre vergleichen in VBA
23.02.2011 15:11:17
Reinhard
Hallo Robert,
wozu Vba?
=VERGLEICH(DATUM(JAHR(INDIREKT("A"&ANZAHL(A:A)));1;1)-1;A:A;1)+1
ergibt die Zeilennummer des ersten Eintrages mit höherem Jahr nach einem Jahreswechsel.
Bzw. #NV wenn es keinen Jahreswechsel gab.
Gruß
Reinhard
mehrere Jahreswechsel
23.02.2011 15:17:35
Reinhard
Hallo Robert,
dann so:
C1: =VERGLEICH(DATUM(JAHR(INDIREKT("A"&ANZAHL(A:A)));1;1)-1;A:A;1)+1
C2: =VERGLEICH(DATUM(JAHR(INDIREKT("A"&C1-1));1;1)-1;A:A;1)+1
C2: =VERGLEICH(DATUM(JAHR(INDIREKT("A"&C2-1));1;1)-1;A:A;1)+1
usw. in C bis #NV kommt.
Gruß
Reinhard
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige