Formel automatisch weiterscheiben am 3. des Folgemonats
04.12.2024 11:58:09
chris58
Ich hätte noch eine Frage bezüglich eines VBA-Codes. Den folgenden Code übertrage ich jeweils nach Ende des Monats in den nächsten Monat mittels eines Commandbutton2. Dies desswegen, da ansonst (also auf meinem Rechner) immense Wartezeit verbunden ist, wenn täglich eine Eintragung in ein Feld erfolgt und der Code die gesamten eingetragenen Formeln durchgeht. Meine Frage ist folgende:
Kann man das irgendwie machen, das der Übertrag "automatisch" jeweils am 3. des Folgendemonats erfolgt und dann auch, falls händisch ein weiterschreiben erfolgen sollte, darauf hingewiesen wird, das schon ein Übertrag für das Folgemonat gemacht wurde (sonst wird der ja nochmal um ein Monat weitergeschrieben) ? Geht sowas ? ..... oder alternativ..............eine Meldung am 1. des neuen Monats kommt, das ein weiterschreiben gemacht werden muß.
Danke für Eure Zeit
chris58
Hier der Code:;
Private Sub CommandButton2_Click()
Dim lngalteLetzteSpalte As Long
Dim lngneueLetzteSpalte As Long
If InputBox("Formeln werden jetzt in die nächste Spalte übertragen Welches Monat aktuell ist, zeigt die grüne Headline", "FORMELN WEITERKOPIEREN ?", vbYesNo) = vbYes Then
End If
lngalteLetzteSpalte = Cells(13, Columns.Count).End(xlToLeft).Column 'zeile 13
lngneueLetzteSpalte = lngalteLetzteSpalte + 1
Cells(3, lngalteLetzteSpalte).Resize(9).Copy 'zeile 3 bis 11
Cells(3, lngneueLetzteSpalte).Resize(9).PasteSpecial xlCellTypeFormulas
Cells(13, lngalteLetzteSpalte).Resize(4).Copy 'zeile 13,14,15,16
Cells(13, lngneueLetzteSpalte).Resize(4).PasteSpecial xlCellTypeFormulas
Application.CutCopyMode = False
Cells(1, lngalteLetzteSpalte).Resize(2).Interior.Color = xlNone ' zeile 1 und 2 --loescht gruen
Cells(1, lngneueLetzteSpalte).Resize(2).Interior.Color = vbGreen '--setzt gruen
With Cells(3, lngalteLetzteSpalte).Resize(18) 'zeile 3 bis 20
.Formula = .Value
End With
Range("B1").Select
MsgBox "FERTIG - Formeln wurden ain die nächste Spalte (grüne Headline) übertragen - Nur die Werte verblieben in vorheriger Spalte", vbInformation
End Sub
Anzeige