Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wenn Datum in der Spalte im Q4 dann

Wenn Datum in der Spalte im Q4 dann
26.10.2022 07:43:49
Klaus
Hey, kann mir jemand gerade bitte helfen.
Ich habe in der Spalte a1 mehrere Daten vom Jahr,
nun schaue ich in welchem Quartal ich bin und die Daten in der Spalte 1 , die im Q4 liegen sollen in die Zelle (Z,10) (z=1)
Z=Z+1

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn Datum in der Spalte im Q4 dann
26.10.2022 07:49:50
ralf_b
schreibe eine for next schleife mit welcher du über die Datenspalte iterierst.
darin prüfst du ob der aktuelle Zellwert mit deinem Quartal passt und wenn ja schreibe den Wert in Zelle(Z,10)
die Prüfung kann eine if then else Struktur sein.
Z= Z+1 nach erfolgreichem Einfügen nutzen um beim nächsten Einfügen den Wert eine Zelle weiter unten zu platzieren.
Reicht dir das?
AW: Wenn Datum in der Spalte im Q4 dann
26.10.2022 07:56:22
Pieter
For z1 = Cells(65536, 1).End(xlUp).Row To 1 Step -1
If Left(Cells(z1, 1), 5) >= "01.10" Then And Left(Cells(z1, 1), 5) Cells(z2, 8) = Cells(z1, 1) 'Date
Cells(z2, 9) = Cells(z1, 2) 'Settlement
z2 = z2 + 1
Else
MsgBox "nothing"
End If
ich hab schon ein kleines Konstrukt aufgebaut, jedoch nimmt er auch die Zahlen unter 1.10 sprich 30.09 ..
Anzeige
AW: Wenn Datum in der Spalte im Q4 dann
26.10.2022 08:28:23
ralf_b
du vergleichst Textwerte aber es sind doch Datumswerte oder ?
und die msgbox stört doch eher als das sie hilft.
schreibe dir Prüfwerte mit debug.print ins Direktfenster(erreichbar mit Strg +G ). Damit siehst du was im Programm passiert.
z.b. debug.print Left(Cells(z1, 1), 5) & " - " & Cells(z1, 1), 5) & " - " & Cells(z1, 1), 5).value & " - " & Cells(z1, 1), 5).text
oder nutze Haltepunkte um im Programm anzuhalten und dann die Werte zu prüfen.
Wieso läuft deine Schleife rückwärts und die Eintragung der Daten aber vorwärts?
z2 ist 0 beim ersten Aufruf . Das setze ich voraus, da dein Code nichts Gegenteiliges zeigt.
Deshalb erst z2 hochsetzen, weil es keine Zeile 0 gibt

For z1 = 1 To Cells(65536, 1).End(xlUp).Row
If WorksheetFunction.RoundUp(Month(CDate(Cells(z1, 5))) / 3, 0) = 4 Then 'Formel zur Ermittlung des Quartals
z2 = z2 + 1
Cells(z2, 8) = Cells(z1, 1) 'Date
Cells(z2, 9) = Cells(z1, 2) 'Settlement
End If
Next

Anzeige
AW: Wenn Datum in der Spalte im Q4 dann
26.10.2022 07:59:59
Pieter
Habe es auch schon ohne left und mit ....2022 probiert
AW: Wenn Datum in der Spalte im Q4 dann
26.10.2022 08:42:19
GerdL
Moin Klaus Pieter,
probier mal.

Sub Unit()
Dim arr As Variant, C As Range, min As Date, max As Date, z As Long
min = #10/1/2022#
max = #12/31/2022#
With Cells(1).CurrentRegion
ReDim arr(1 To .Rows.Count, 1 To 1)
For Each C In .Columns(1).Cells
If IsDate(C.Text) Then
If C >= min And C 
Gruß Gerd

342 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige