Hallo,
die Anweisung ist sehr gut verständlich, besser geht es gar nicht!
Sub SaldoTransferFromLastMonth()
Dim shActMonth As Worksheet
Dim shLastMonth As Worksheet
Dim rngRowSaldo As Range, lngRowSaldo As Long
Set shActMonth = ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
If ActiveWorkbook.Sheets.Count > 1 Then
Set shLastMonth = ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count - 1)
' Auslesen des letzten Saldos
lngRowSaldo = shLastMonth.Cells(shLastMonth.Rows.Count, 6).End(xlUp).Row
Set rngRowSaldo = shLastMonth.Cells(lngRowSaldo, 6) ' 6 = Spalte F
' Übertragen des Saldo's
shActMonth.Cells(1, 6).Formula = rngRowSaldo.Formula
End If
End Sub
Es wird vorausgesetzt, dass in den Tabellen der aktuelle Monat immer als letzte Tabelle rechts angehängt wird.
z.B.: Januar, Feburuar, März, April, Mai, Juni, ...
Im Code wird anschließend vom vorletzten Tabellenblatt das Saldo ausgelesen und in die letzte Tabelle üertragen.
Falls die Reihenfolge der Tabellen umgekehrt sein sollte
z.B.: ..., Juni, Mai, April, März, Februar, Januar
... dann muss folgender Code verwendet werden:
Sub SaldoTransferFromLastMonth()
Dim shActMonth As Worksheet
Dim shLastMonth As Worksheet
Dim rngRowSaldo As Range, lngRowSaldo As Long
Set shActMonth = ActiveWorkbook.Sheets(1)
If ActiveWorkbook.Sheets.Count > 1 Then
Set shLastMonth = ActiveWorkbook.Sheets(2)
' Auslesen des letzten Saldos
lngRowSaldo = shLastMonth.Cells(shLastMonth.Rows.Count, 6).End(xlUp).Row
Set rngRowSaldo = shLastMonth.Cells(lngRowSaldo, 6) ' 6 = Spalte F
' Übertragen des Saldo's
shActMonth.Cells(1, 6).Formula = rngRowSaldo.Formula
End If
End Sub
VG, BigBen
|