Guten Abend liebe VBA-ler,
ich habe hier schon viele gute Tipps erhalten und bin noch relativ unerfahren mit VBA. Ich komme derzeit an einem Problem nicht weiter. Ich denke, es ist sehr leicht zu lösen, zumindest von der Logik. Leider habe ich mir dazu noch die nötigen Programmierkenntnisse so schnell aneignen können um meine Gedanken umzusetzten - Aber nun zum Thema:
Ich möchte eine langfristige Datenbasis optimieren. Dazu möchte in einer Spalte eine Variable X definieren, die einer Ziffer ist, und mir jedesmal um +1 ansteigt, sobald ich ein Makro ausführe. Das Makro fügt eine neue Zeile unterhalb der zuletzt beschriebenen Zeile ein (habe ich mir irgendwie zusammengebastelt, siehe unten). Diese Variable wird hinter einer Jahreszahl drangehängt, z.B. in der Form 2017_X. Hinzukommt, dass diese Variable nun nich bei 0 anfängt, sondern irgendwo bei der Zeile 20 zum Beispiel. Damit die die Variable dabei nicht endlos groß wird, soll ab dem Jahreswechsel dieser Zähler wieder bei 1 anfangen.
---------------------------------------------------------
Sub NewZeile()
Dim Zeile As Long
Dim lngLastRow As Long
With ActiveSheet
'Zeilennummer:
Zeile = .Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
'Kopieren:
Intersect(.Rows(Zeile - 1), .UsedRange).Copy
.Cells(Zeile, 1).PasteSpecial Paste:=xlPasteFormats 'Formate
.Cells(Zeile, 1).PasteSpecial Paste:=xlPasteFormulas 'Formeln
Application.CutCopyMode = False
'Werte löschen
Intersect(.Rows(Zeile), .UsedRange).SpecialCells(xlCellTypeConstants).ClearContents
'Active Cell.Offset(1, 0) = ActiveCell + 1
'Nummer in Spalte A:
.Cells(Zeile, 1).Value = Year(Date) & "_" & ActiveCell.Row - 1 '<------------------------ Hier müsste irgendwie die Variable X rein, anstelle ActiveCell.Row - 1
End With
End Sub
-----------------------------------------------------------------------------------------------------------
Ich hoffe ihr könnt mir da weiterhelfen. Beste Grüße und schönen Abend euch :)
|