HERBERS Excel-Forum - das Archiv

Thema: Formel in der letzten variablen Zeile verlängern VBA

Formel in der letzten variablen Zeile verlängern VBA
Bernd
Hallo,

ich habe eine Datei in der ich mit folgendem Befehl eine Zeile mit Daten hinzufüge.
'Zeile hinzufügen
tbl.ListRows.Add


'Zeile in Variable speichern
Zeile = tbl.DataBodyRange.Rows.Count

Leider werden nicht alle Formeln in die neue Zeile übernommen.

Mit folgender zusätzlicher Anweisung verlängert mir excel die Formeln, wie gewünscht für die betreffenden Zellen.

Range("L329").Select
Selection.AutoFill Destination:=Range("L329:L330"), Type:=xlFillDefault
Range("L329:L330").Select
Range("M329").Select
Selection.AutoFill Destination:=Range("M329:M330"), Type:=xlFillDefault
Range("M329:M330").Select

Wie kann ich das so formulieren, dass immer in den neu hinzugefügten Zeilen die Formeln aus den o.a. Spalten verlängert werden, also das ganze variabel gestalten?
Das komische ist wirklich, dass nur die Formeln in diesen beiden Spalten nicht verlängert werden. Im weiteren Code habe ich nichts stehen, was daraufhin deutet, dass die Formeln in den Spalten gelöscht oder nicht übernommen werden sollen.

Gruß Bernd
AW: Formel in der letzten variablen Zeile verlängern VBA
Alwin Weisangler
Hallo Bernd,

es kann diverse Ursachen/Auslöser geben, dass die Konsistenz eines Listobjects zerstört ist oder irgendwann zerstört wurde.
Schau die als erstes deine Formeln an. Formeln ohne @ können dies verursachen.
Auch per VBA erzwungene Formatierungen könnten in Frage kommen.
Auch programmiertechnisch unsaubere Eingriffe ins Listobject können die Konsistenz zerstören.

Schon damit:


Range("L329").Select
Selection.AutoFill Destination:=Range("L329:L330"), Type:=xlFillDefault
Range("L329:L330").Select
Range("M329").Select
Selection.AutoFill Destination:=Range("M329:M330"), Type:=xlFillDefault
Range("M329:M330").Select

bewegst du dich außerhalb der Befehlsstruktur zur Bearbeitung des Listobject.
Naja und dann die Sache mit Select....

Gruß Uwe
nur mal so ne Frage...
Oberschlumpf
Hi Bernd,

geht es in diesem Beitrag...
https://www.herber.de/forum/messages/1973361.html
...nicht auch um die gleiche Frage wie in dem Beitrag, in dem ich dir gerade schreibe?

Wieso ist denn der andere, ältere Beitrag auch noch auf "offen" gesetzt?

Oder habe ich etwas total falsch verstanden, und in beiden Beiträgen von dir geht es um ganz unterschiedliche Fragen von dir?

Ciao
Thorsten
AW: nur mal so ne Frage...
Bernd
Hallo,

eine gute Frage:

Ich hatte das Problem in das Forum gestellt, mir wurde auch geantwortet, jedoch hatte ich beim zweiten Versuch eine nicht ganz korrekte Datei hochgeladen. Worauf jemand "not amused" war, dies auch kundgetan hat und dann nichts mehr von sich hat hören lassen.

Daraufhin habe ich es selbst versucht, bin aber auch da an meine Grenzen gestoßen und habe nun gehofft, das dieses erneute Problem, anderweitig und einfacher zu bearbeiten wäre.

Anscheinend hing das ganze "Theater" wohl aber mit einer falschen Formel in der Tabelle zusammen. Auf diesen möglichen Umstand wurde ich erst hier hingewiesen. Dank der Hilfe der Beiden, läuft es nun.

Sorry, wenn ich etwas falsch gemacht habe, wollte aber dem damaligen "Bearbeiter" noch die Möglichkeit geben zu antworten.

Ist das Thema denn jetzt immer noch offen? Wenn ja, kannst du es bitte schließen?!

Danke.

Gruß Bernd
AW: nur mal so ne Frage...
Oberschlumpf
Hi,

Ist das Thema denn jetzt immer noch offen? Wenn ja, kannst du es bitte schließen?!

a) ob offen kannst doch bitte du prüfen, oder?
b) und Beitrag schließen = ne Antwort schreiben - ohne - den Haken für "offen" zu setzen...und DAS kannst auch du

Ciao
Thorsten
AW: nur mal so ne Frage...
Bernd
Dann habe ich es ja aus dem Gefühl heraus richtig gemacht.

Gruß Bernd
AW: Formel in der letzten variablen Zeile verlängern VBA
Alwin Weisangler
Ergänzung: einfache Zellverweise (beispielhaft): =[Spalte1 ] sind natürlich ohne @ und verusachen das Problem nicht.
AW: Formel in der letzten variablen Zeile verlängern VBA
Bernd
Hallo,

danke für die Hinweise.

Allerdings bin ich so unbedarft, dass ich es immer noch nicht hinbekommen habe.

Na ja, muss ich halt jedes Mal händisch eingreifen.

Gruß Bernd
AW: Formel in der letzten variablen Zeile verlängern VBA
ralf_b
in einer intelligenten Tabelle werden die Formeln automatisch in neue Zeilen übernommen.
sorge dafür das die Formeln in der ganzen Spalte gleich sind.
wenn das nicht geht taugt deine Formel nichts.
Wandele die intelligente Tabelle in einen Bereich um, also das intelligente der Tabelle löschen.
erzeuge die intelligente Tabelle neu.
nun sollten sich die störrischen Formeln automatisch in neue Zeilen eintragen.

AW: Formel in der letzten variablen Zeile verlängern VBA
Bernd
Moin,

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

Vielen liebe Dank.

Gruß Bernd