KW und IF
16.02.2021 09:41:14
Chris
ich habe folgendes Makro, das in Abhängigkeit der KW einer der beiden IF-Funktionen ausführen soll.
Im Sheet MISC, Range V114 steht aktuell 12 (=KW 12) (Formatierung als Text).
Da wir mit heutigem Datum nicht KW12 haben wird trotzdem diese Anweisung ausgeführt.
Weiß jmd. wo der Fehler liegt?
Dim KWnowSTRG, a, b As String
KWnow = DatePart("ww", Date, vbMonday, vbFirstFourDays)
KWnowSTRG = CStr(Format(Date, "ww")) 'aktuelle KW als string - Achtung amerikanisches KW Format
'KWnow = CStr(DatePart("ww", Date, vbMonday, vbFirstFourDays)) 'ISO KW als Textstring
'KWnow1 = CStr(DatePart("ww", Date, vbMonday, vbFirstFourDays) + 1)
a = KWnow
b = KWnow + 1
'-
If KWnow ISTKLEINERALS ActiveWorkbook.Sheets("Misc").Range("V114").Value Then
'KLEINER ZEICHEN GEHT HIER NICHT...
Application.DisplayAlerts = False
'ThisWorkbook.Worksheets.Add.Name = b
'ThisWorkbook.Worksheets.Add.Name = a
Sheets("MISC").Visible = True
Sheets("MISC").Copy after:=Sheets(1)
ActiveSheet.Name = b
ActiveSheet.Range("A1").Value = "KW " & ActiveSheet.Name
Sheets(1).Range("V114").Value = b
Sheets("MISC").Copy after:=Sheets(1)
ActiveSheet.Name = a
ActiveSheet.Range("A1").Value = "KW " & ActiveSheet.Name
Sheets(2).Range("V114").Value = a
Sheets("MISC").Visible = False
Dim wks As Worksheet
For Each wks In Worksheets
Select Case wks.Name
Case "MISC", a, b 'Sheets bei denen nichts passiert
Case Else
wks.Delete
End Select
Next
Call NewKWs
End If
'-
'--
If KWnow = ActiveWorkbook.Sheets("Misc").Range("V114").Value Then
Application.DisplayAlerts = False
Dim wks2 As Worksheet
For Each wks2 In Worksheets
Select Case wks2.Name
Case "MISC", a, b 'Sheets bei denen nichts passiert
Case Else
wks2.Delete
End Select
Next
Call NewKWs
End If
'--