Hallöchen,
ich habe trotzdem noch meinen Ansatz eingebracht - mit den Änderungen für eine flexible Spaltenanordnung. Wie gesagt, rechts daneben wäre keine Code-Änderung erforderlich
Also, erst mal fügst Du neue Produkte mit BuchungenAnlegen... ein.
Dort gibt es dann diese Änderungen:
Code:
'ziemlich oben hinzugefügt:
Dim tblProdukte As ListObject
Set tblProdukte = Worksheets("Produkte").ListObjects("Produkte")
'in der Schleife geaendert:
'Original:
'Set rng = ThisWorkbook.Worksheets("Produkte").Columns("D").Find(What:=.Range("K24").Value, LookIn:=xlValues, LookAt:=xlWhole).Offset(0, 3)
'geaendert zu:
Set rng = Cells(tblProdukte.ListColumns("Produkt-ID").DataBodyRange.Find(What:=.Range("K24").Value, LookIn:=xlValues, LookAt:=xlWhole).Row, _
tblProdukte.HeaderRowRange.Columns.Find(What:="Bestand", LookIn:=xlValues, LookAt:=xlWhole).Column)
Dadurch ist es übrigens auch egal, ob die ID in Spalte D steht oder die ganze Tabelle irgendwo anders auf dem Blatt ...
Die Diagramme usw. waren vermutlich mal Pivotcharts und mit dem entsprechenden Blatt verbunden. Jetzt stehen die Werte fest als Datenreihen in den Diagrammdaten, z.B.
=DATENREIHE("IVV ";{"Nov"."Okt"."Sep"."Aug"."Jul"."Jun"."Mai"."Apr"."Mrz"."Feb"."Jan"};{0.4499,85.0.4499,85.3149,86.0.8999,7.0.0.1574,93.4499,85};2)
Ebenso waren wohl auch die Zahlen in den Textboxen per Formel verbunden.