HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Forumbeitrag
Excel-Version des Fragestellers:
365 Business
Erfahrungslevel des Fragestellers:
Kaum Excel/VBA-Kenntnisse
Bernd
15.04.2024 16:53:56
AW: Nächste fast leere Zeile beschreiben per VBA
Moin,

joa, jetzt klappt es. Habe die Tabelle "entautomatisiert", neu an gelegt und dann deinen Code eingefügt. Ich weiß das man nie zwei Sachen gleichzeitig ändern sollte, aber manchmal haut es eben hin.

Vielen liebe Dank.

Gruß Bernd
Als Antwort auf diesen Beitrag
Yal
15.04.2024 09:58:10
AW: Nächste fast leere Zeile beschreiben per VBA
Hallo Bernd,

Du musstest auchdie Antwort von Uwe/Alwin https://www.herber.de/forum/messages/1973497.html berücksichtigen.

Idealerweise gibt es in einer Tabelle nur Formeln, die auf eine andere Spalte auf die eigene Zeile (weil Tabelle nach dem Prinzip "verstehst Du eine Zeile, hast Du die ganze Tabelle verstanden" funktionieren).
Mit der Verwendung von "L12" anstatt "[@[Bestand]]" machst Du eine Abweichung zu den Tabellenformeln-Regeln.
https://support.microsoft.com/de-de/office/verwenden-von-strukturierten-verweisen-f%C3%BCr-excel-tabellen-f5ed2452-2337-4f71-bed3-c8ae6d2b276e
Da bei der Berechnung einem fortlaufenden Bestand immer auf die vorhige Zeile referiert werden muss, hast Du leider keien Wahl, die Regel zu verletzen.

Im Prinzip würde nach dem Erzeugen eine neue Zeile Reichen, wenn Du die Formel der erste Zeile auf die gesamte Spalte übertragt:
Sub BestandsFormel_erweitern()

Dim tbl As ListObject

Set tbl = Tb_Datenbank.ListObjects(1)
With tbl.ListColumns("Bestand")
.DataBodyRange.Formula = .DataBodyRange.Cells(1).Formula
End With
End Sub

Notfalls der Formel in zweite Zeile: .DataBodyRange.Cells(1).Formula (weil nur eine Spalte, ist Cells(2) die zweite Zelle, also in zweite Zeile)

Ein fortlaufende bestand kannst Du übrigen auch so berechnen (gilt für alle Zeilen):
=WENNFEHLER([@[Ab/Zu]]+L11;[@[Ab/Zu]])

VG
Yal
Folgenachrichten
Antwort auf Beitrag erstellen

Beispieldatei hochladen