21.07.2017, 13:07
Hi,
Ich brauch mal wieder eure Hilfe.
ich habe eine Tabelle, mit einem Wert zu einem bestimmten Datum (über meherere Jahre).
jetzt möchte ich einen Bereich auswählen, der die Zeilen eines bestimmten Jahres umfaßt.
Dazu habe ich mich zu folgendem Code durchgearbeitet:
Das funktioniert auch. In Spalte F wird die entpr. Reihe angezeigt.
Doch eigentlich brauche ich nur den ersten, bzw. den letzten Wert dieser Auswahl um den Bereich festzulegen.
Mein Ansatz ist, die Ungleich-Bedingung in größer- bzw kleiner-Bedingung aufzulösen.
Der Code würde dann folgendermaßen aussehen:
:22: --- funktioniert aber nicht. Es wird nur der Wert 3 ausgegeben obwohl 2017 doch größer ist als 2016. Wo ist der Fehler?
Ich brauch mal wieder eure Hilfe.
ich habe eine Tabelle, mit einem Wert zu einem bestimmten Datum (über meherere Jahre).
jetzt möchte ich einen Bereich auswählen, der die Zeilen eines bestimmten Jahres umfaßt.
Dazu habe ich mich zu folgendem Code durchgearbeitet:
Code:
Sub Schaltfläche1_BeiKlick()
Dim j, k As Integer
Dim suchjahr, datajahr As Date
j = Sheets("Data").Cells(Rows.Count, 1).End(xlUp).Row
suchjahr = 2016
For k = 3 To j
datajahr = Format(Cells(k, 1), "YYYY") 'extrahiert Jahr aus Datum in Spalte A
If datajahr <> suchjahr Then GoTo jump
xAchseEnde = k
Cells(k, 6) = xAchseEnde
jump:
Next k
End Sub
Das funktioniert auch. In Spalte F wird die entpr. Reihe angezeigt.
Doch eigentlich brauche ich nur den ersten, bzw. den letzten Wert dieser Auswahl um den Bereich festzulegen.
Mein Ansatz ist, die Ungleich-Bedingung in größer- bzw kleiner-Bedingung aufzulösen.
Der Code würde dann folgendermaßen aussehen:
Code:
Sub Schaltfläche1_BeiKlick()
Dim j, k As Integer
Dim suchjahr, datajahr As Date
j = Sheets("Data").Cells(Rows.Count, 1).End(xlUp).Row
Range("H2") = j
suchjahr = 2016
For k = 3 To j
datajahr = Format(Cells(k, 1), "YYYY") 'extrahiert Jahr aus Datum in Spalte A
'Cells(k, 5) = datajahr
If datajahr > suchjahr Then GoTo jump01
Next k
For k = 3 To j
datajahr = Format(Cells(k, 1), "YYYY") 'extrahiert Jahr aus Datum in Spalte A
'Cells(k, 5) = datajahr
If datajahr < suchjahr Then GoTo jump02
Next k
jump01:
xAchseEnde = k
Cells(k, 6) = xAchseEnde
jump02:
xAchseAnfang = k
Cells(k, 6) = xAchseAnfang
End Sub
:22: --- funktioniert aber nicht. Es wird nur der Wert 3 ausgegeben obwohl 2017 doch größer ist als 2016. Wo ist der Fehler?