Option
Explicit
Public
Sub
aaa()
Dim
ws
As
Worksheet, loJahr
As
Long
, loJahrAlt
As
Long
Dim
loMonat
As
Long
, loMonatAlt
As
Long
Dim
daDatum
As
Date
, daDatumAlt
As
Date
Dim
strBlattNeu
As
String
, strBlattAlt
As
String
Application.ScreenUpdating =
False
strBlattNeu = Format(DateSerial(Year(
Date
), Month(
Date
), 1),
"MMMM"
) &
" "
& Year(
Date
)
For
Each
ws
In
ThisWorkbook.Worksheets
If
ws.Name = strBlattNeu
Then
MsgBox
"Fehler: Das Blatt existiert bereits."
Exit
Sub
End
If
Next
ws
Worksheets(Sheets.Count).Copy After:=Worksheets(Sheets.Count)
ActiveSheet.Name = strBlattNeu
loMonat = Month(
Date
) - 1
If
loMonat = 1
Then
loJahr = Year(
Date
) - 1
Else
loJahr = Year(
Date
)
End
If
loMonatAlt = Month(
Date
) - 2
If
loMonatAlt <= 2
Then
loJahrAlt = Year(
Date
) - 1
Else
loJahrAlt = Year(
Date
)
End
If
daDatum = DateSerial(Year(
Date
), loMonat, 1)
daDatumAlt = DateSerial(Year(
Date
), loMonatAlt, 1)
strBlattNeu = Format(daDatum,
"MMMM"
) &
" "
& loJahr
strBlattAlt = Format(daDatumAlt,
"MMMM"
) &
" "
& loJahrAlt
Columns(
"G"
).Replace What:=strBlattAlt, Replacement:=strBlattNeu, _
LookAt:=xlPart, FormulaVersion:=xlReplaceFormula
End
Sub