VBA: Formel mit Bezug auf anderes Tabellenblatt wird nicht (gleich) aktualisiert
Hallo,
in meinem VBA-Makro führe ich (auf Button-Kick) folgende Schritte aus:
- Anlage eines Tabellenblatts (den Namen gibt der user in einer Inputbox an)
- Hinzufügen von 3 Spalten in einem "Konsolidierungs-Tabellenblatt" mit Bezug auf das neue Tabellenblatt. Bsp.: neuer Name = "Karl" -> Formeln in "Konsolidierungs-Tbl." (werden per Makro gesetzt): with ... .Cells(ErsteZeile + 1, Leerspalte_Neuer_MA).FormulaLocal = "='" & MA_Name & Zelladresse [ergibt bspw. in Zelle B5 die Formel =Karl!AB6]
- neue Einträge (jeweils die 3 Spalten) werden immer angehängt und danach alphabetisch sortiert
- auf einem Übersichts-Tbl. sind fixe Verknüpfungen auf das Konsolidierungs-Tbl. - z.B. =Konsolidierung!B5
Das Problem: Nach jedem Makro-Durchlauf erscheint auf dem Übersichts-Tbl. zunächst nur der vorletzte Wert - NICHT der letzte! Der erscheint dann beim nächsten Mal usw.
Ich habe mit calculate, refreshAll etc. alles mögliche versucht - leider ohne Erfolg.
Kann mir bitte jemand weiterhelfen?
Vielen Dank schon mal
Jojo
Antwort schreiben
Antwort 1 von jojo5 vom 22.10.2020, 07:46 Options
ich bin's nochmal ...
die "Lösung" (oder eher workaround) für o.g. Problem habe ich gefunden. Ein weiterer Schritt, den ich oben noch nicht beschrieben hatte, ist das Verschieben (und dadurch alphabetische Sortieren) der Tabellenblätter. Setze ich diesen Teil an das Ende des Makros, werden die letzten Inhalte korrekt angezeigt.
Ein weiteres - damit sicher zusammen hängendes - Problem ist, dass sich die Inhalte des Übersichts-Tbl. nicht ändern, wenn in den einzelnen Tabellenblättern nun Werte eingegeben wurden. Meine Recherchen haben ergeben, dass man das mit Application.Volatile beheben könne. Allerdings habe ich sehr viele Beiträge gelesen, die dringend davon abraten. Teilt jemand diese Meinung oder hat mir jemand einen besseren Vorschlag?
Ich könnte natürlich jedes Mal beim Aufruf des Übersichts-Tbl. dieses zweimal verschieben ... aber das finde ich nicht besonders schön.
Vielleicht kann ja dieses Mal jemand antworten? Wäre nett.
Danke, Gruß
Jojo