Hi zusammen,
für eine dynamische Analyse, in der jeden Monat eine Spalte mit Berechnungen ergänzt werden soll, möchte ich ein Makro für folgende Aktionen:
- Finde Zelle mit dem String namens [1] (Das ist die Zelle rechts neben dem letzten Datensatz, damit diese sich immer mit nach rechts bewegt, sodass jeden Monat links daneben eine neue Spalte eingefügt werden kann)
- Füge eine neue Spalte links neben der Spalte mit Zelle [1] ein
- In der Spalte links von der neuen Spalte befindet sich eine Formel, die jetzt in die neue Spalte übertragen werden soll (flash fill mit neuem Bezugsdatum)
Ich habe bis jetzt das:
Dim ow As Worksheet
Dim LastColumn As Range
Dim rng1 As Range
Dim TargetCol As Range
Dim SourceCol As Range
Dim LastRow As Long
Set ow = ThisWorkbook.Sheets("Overview")
LastColumn1 = ow.Cells(1, ow.Columns.Count).End(xlToLeft).Column
Set rng1 = ow.Cells.Find("[1]", LookIn:=xlValues)
ow.Range(rng1, ow.Cells(ow.Rows.Count, rng1.Column)).EntireColumn.Insert
Set TargetCol = rng1.Offset(0, -1)
Set SourceCol = rng1.Offset(0, -2)
LastRow = ow.Cells(ow.Rows.Count, SourceCol.Column).End(xlUp).Row
SourceCol.AutoFill Destination:=TargetCol, Type:=xlFillDefault
TargetCol.Formula = "=" & SourceCol.Address
Die neue Spalte wird erstellt, allerdings funktioniert der Autofill nicht.
So sieht der Datensatz aus:
|
|
|
[1] |
01.01.2024 |
01.02.2024 |
01.03.2024 |
|
1 |
1 |
1 |
|
2 |
2 |
2 |
|
3 |
3 |
3 |
|
4 |
4 |
4 |
|
5 |
5 |
5 |
|
Für das Datum und die Zahlen sind Formeln hinterlegt und es kommen jeden Monat Daten aus einem anderen Sheet dazu, die dann hier automatisch neben der letzten Spalte hinzugefügt werden sollen.
Beachtet noch: Ich kann nicht nach dem aktuellsten Datum suchen, da es mehrere Analysen sind, sodass dasselbe Datum öfter auf demselben Sheet vorkommt. Daher die Lösung mit "[1]".
Wenn es allerdings möglich ist, direkt mehrere Zellen mit dem aktuellsten Datum zu suchen und das mit den Spalten zu machen, wäre das noch besser.
Vielen Dank schon einmal!
|