ich habe in meiner VBA-Anwendung eine Tabelle, die eine Art Protokoll ist: Jede Zeile ist ein Tag, in den Spalten werden verschiedene Dinge protokolliert. Jeden Tag kommt also eine Zeile dazu.
Besonderheit: Das Protokoll soll von neu nach alt sortiert sein, die neueste Zeile ist also immer oben.
Die ersten drei Zeilen der Tabelle sind Überschriften, die Zeile 4 ist also diejenige, die immer dazukommt, die bisherigen rutschen um eine Zeile nach unten.
Und genau bei diesem "runterrutschen" stecke ich fest, denn die Datei ist freigegeben und Insert funktioniert somit nicht. (Freigabe per Makro rausnehmen und wieder reintun ist keine Option)
Ich habe nun folgendes konstruiert: Bevor das Protokoll geschrieben wird, setze ich das bisherige Protokoll als Range fest und verschiebe es mittels Offset um eine Zeile nach unten. Ziel ist, dass die Zeile 4 frei wird, um die neuen Daten aufzunehmen.
Bisher sieht das so aus:
Dim lngZeileBeginn As Long
Dim lngZeileEnde As Long
Dim lngSpalteBeginn As Long
Dim lngSpalteEnde As Long
Dim objAlterJournalbereich As Object
lngZeileBeginn = 4
lngZeileEnde = Worksheets("Journal").UsedRange.Rows.Count
lngSpalteBeginn = 2 'erste Datenspalte
lngSpalteEnde = 22 'letzte Datenspalte
Set objAlterJournalbereich = Worksheets("Journal").Range(Cells(lngZeileBeginn, lngSpalteBeginn), Cells(lngZeileEnde, lngSpalteEnde))
Das nur als "Einführung", bis dahin klappt alles perfekt, das Range habe ich auch getestet, die Dimensionierung klappt einwandfrei. Aber die entscheidende ZeileSet objAlterJournalbereich = objAlterJournalbereich.Offset(1, 0)
funktioniert nicht. Wer kann mich mal vom Schlauch schubsen? Vielen Dank im voraus!