Brauche Hilfe bei Datumsermittlung
Holger
ich habe unten stehendes Makro.
In einer Zelle steht das Datum, die Zelle wird als Parameter an eine FKT übergeben.
In Abhängigkeit von dem Datum, werden die Variablen gesetzt.
Ich möchte das einfacher haben und einfach nach dem aktuellen Datum, die Variablen setzen.
Seht selbst es wäre wichtig. Mit Datum kenne ich mich null aus leider ....
SO UNGEFÄHR SOLL ES AUSSEHEN:
Sub getcurPeriod() As String
Dim i As Integer
Dim datToday As Date
datToday = Now()
'SO SOLL ES DANN SEIN
Select Case datToday
End Select
End Sub
SO WAR ES BISHERSub GetCurrentPeriod()
Dim wks As Worksheet
Dim strwks As String
Set wks = Worksheets(strWorkSheet1)
wks.Range("I2").Value = Now()
wks.Range("I2").NumberFormat = "DD.MM.YYYY"
wks.Cells(2, 10).FormulaLocal = "=getcurPeriod(I2)"
wks.Range("J2").Copy
wks.Range("J2").PasteSpecial xlPasteValues
wks.Range("J2").Font.Color = vbBlue
Application.CutCopyMode = False
wks.Range("E3").Value = strDeadline
wks.Range("E3").Font.Color = vbWhite
wks.Range("B1").Value = strSQLPeriod
End Sub
Function getcurPeriod(rng As Range) As String
Dim i As Integer
i = Year(rng)
Select Case DateSerial(i, Month(rng), Day(rng))
Case CDate("18.02." & i - 1) To CDate("17.03." & i)
getcurPeriod = "2010-01"
strDeadline = "28." & "02." & i
strSQLPeriod = "('Jan10')"
Case CDate("18.03." & i) To CDate("17.04." & i)
getcurPeriod = "2010-02"
strDeadline = "28." & "03." & i
strSQLPeriod = "('Feb10')"
Case CDate("18.04." & i) To CDate("17.05." & i)
getcurPeriod = "2010-03"
strDeadline = "28." & "04." & i
strSQLPeriod = "('Mar10')"
Case CDate("18.05." & i) To CDate("17.06." & i)
getcurPeriod = "2010-04"
strDeadline = "28." & "05." & i
strSQLPeriod = "('Apr')"
Case CDate("18.06." & i) To CDate("17.07." & i)
getcurPeriod = "2010-05"
strDeadline = "28." & "06." & i
strSQLPeriod = "('May10')"
Case CDate("18.07." & i) To CDate("17.08." & i)
getcurPeriod = "2010-06"
strDeadline = "28." & "07." & i
strSQLPeriod = "('Jun10')"
Case CDate("18.08." & i) To CDate("17.09." & i)
getcurPeriod = "2010-07"
strDeadline = "28." & "08." & i
strSQLPeriod = "('Jul10')"
Case CDate("18.09." & i) To CDate("17.10." & i)
getcurPeriod = "2010-08"
strDeadline = "28." & "09." & i
strSQLPeriod = "('Aug10')"
Case CDate("18.10." & i) To CDate("17.11." & i)
getcurPeriod = "2010-09"
strDeadline = "28." & "10." & i
strSQLPeriod = "('Sep10')"
Case CDate("18.11." & i) To CDate("17.12." & i)
getcurPeriod = "2010-10"
strDeadline = "28." & "11." & i
strSQLPeriod = "('Oct10')"
Case CDate("18.12." & i) To CDate("17.01." & i)
getcurPeriod = "2010-11"
strDeadline = "28." & "12." & i
strSQLPeriod = "('Nov10')"
Case CDate("18.01." & i) To CDate("17.02." & i)
getcurPeriod = "2010-12"
strDeadline = "28." & "01." & i
strSQLPeriod = "('Dec10')"
End Select
End Function