Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1752to1756
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA / Tabellenblätter global mutieren

VBA / Tabellenblätter global mutieren
29.04.2020 10:35:17
AdiDC
Hallo Zusammen
Ich stehe vor folgendem Problem, welches - so nehme ich schwer an - nur mittels VBA gelöst werden kann. Und da ich mich nicht als VBA-Spezialist bezeichnen kann, wende ich mich mit Hoffnung an euch, dass ihr mir weiterhelfen könnt:
Ausgangslage:
Meine Anlagebuchhaltung wird in mehreren Excel-Dateien (ca. 8 Stk.) geführt. Jede Datei enthält folgende Tabellenblätter mit entsprechendem Inhalten:
1x Basis-Tab:
Enhält gewisse Grunddaten (Bezeichnung Anlagekategorie, Geschäftsjahr; Erklärungen)
1x Zusammenzug:
Enhält einen Zusammenzug der einzelnene Anlageobjekte. Daten sind in einer Tabelle formatiert. Die Dateninhalte sind jeweils Verknüpfungen zu Tabellenblätter des Typs "Anlageobjekt" (s. hiernach)
X-beliebige Anzahl Anlageobjekte (im Beispiel 2 Stk., "Muster-Tab" und "Muster-Tab1" genannt)
Für jedes einzelne Anlageobjekt wird ein einzelnes Tabellenblatt geführt. In diesem Tabellenblatt befinden sich je eine Daten- und Hinweistabelle. Bemerkung: in gewissen Anlagekategorien (also Dateien) existieren bis zu 31 solcher Anlagebojekt-Tabellenblätter. Die Tabellenblätter haben jeweils einen eindeutigen Namen (abgeleitet vom Anlageobjekt).
Erklärung bezüglich die Benützung der Datei:
Im Laufe des Jahres werden die Daten in den Tabellenblättern verändert. Meistens werden entweder neue Anlageobjekte erstellt (d.h. 1. Schritt = neues Tabelleblatt Typ "Anlageobjekt" erstellen; 2. Schritt = Neue Zeile im Tabellenblatt / Tabelle "Zusammenzug" erstellen und mit dem neu erstellten Anlageobjekt verknüpfen) oder es kommen innerhalb der bestehenden Anlageobjekte neue Zeilen in der Datentabelle dazu.
Problemstellung:
Zu Beginn eines neuen Jahres sind einerseits die Grunddaten in der Datei anzupassen. Dies ist an und für sich nicht schwierig, kann ja die Vorjahresdatei geöffnet, neu gespeichert und im Tab "Basis-Tab" die Jahres-Anpassung erfolgen. Insgesamt muss dies 8 Mal (da 8 Dateien) gemacht werden - alles nicht so schlimm. Nun aber die Herausforderung:
In jedem Tabellenblatt des Typs "Anlageobjekt" müssen nun gewisse Daten umsortiert werden. Genauer gesagt: da ich als Basis ja die Vorjahres-Tabelle verwende, entsprechen zu Jahresbeginn die in der Datei enthaltenen Endwerte den neuen Anfangswerten. Das heisst, dass in der Datei diese Endwerte kopiert und als Anfangswerte eingefügt werden müssen. Ferner sind gleichzeitig gewisse Daten komplett zu löschen, da diese nicht mehr relevant sind.
Konkret müssen folgende Spalten der Daten-Tabelle (im Beispiel "DatenMusterTab" oder "DatenMusterTab2" genannt) kopiert und in derselben Tabelle an einem anderen Ort wieder eingefügt werden (als Werte, denn bei den kopierten Zellen handelt es sich um Formeln):
Werte von Spalte Q ergeben neue Werte Spalte M
Werte von Spalte V ergeben neue Werte Spalte R
Werte von Spalte AG ergeben neue Werte Spalte AC
Folgende Daten sind in den selben Daten-Tabelle komplett zu löschen:
Werte in Spalte N, O, P, S, T, U, AE, AF
Hinweis: Sämtliche hiervor genannten Mutationen (Kopieren/Einfügen/Löschen) sind natürlich ohne den jeweiligen Spaltennahme bzw. die Ergebniszeile zu vollziehen.
Wie erwähnt muss diese Bereinigung zu Jahresbeginn
- in sämtlichen Tabellenblättern des Typs "Anlagekategorie" und
- nur in deren jeweiligen Daten-Tabelle
erfolgen. Die in den Tabellen vorhandenen Formeln sind unverändert zu lassen bzw. dürfen nicht verschoben / geändert werden. Ebenso müssen die Verknüpfungen zum Tabellenblatt "Zusammenfassung" unverändert bestehen bleiben.
Da es Dateien gibt, in welchem über 31 solcher Tabs vorhanden sind, ist das manuelle Erledigen dieser Arbeit sehr aufwändig und auch fehleranfällig .
Ich könnte mir aber vorstellen, dass es eine Möglichkeit gibt, diese Aufgabe mittels VBA-Code / Makro zu lösen. Dieses müsste nicht zuletzt auch so programmiert sein, dass allenfalls neue Tabellenblätter des Typs "Anlagekategorie", welche im Verlauf des Geschäftsjahres der Datei hinzugefügt werden würden, bei der Bereinigung im darauffolgenden Jahr automatisch ebenfalls geändert werden würden.
Könnt ihr mir hier weiterhelfen? Schon jetzt ein grosses Dankeschön für euren Support.
Gruss
Adrian
Musterdatei:
https://www.herber.de/bbs/user/137107.xlsm

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA / Tabellenblätter global mutieren
29.04.2020 10:48:49
Daniel
Hi
Man kann dir hier sicherlich helfen.
Nur solltest du dann schon konkrete Fragen zur Programmierung haben.
Das Selbstverständnis der meisten Antwortet hier ist, dass sie dir gerne bei deinen Problemen helfen, die du beim Programmieren hast.
Wenn deine Erwartungshaltung allerdings ist, dass du hier ohne Eigenleistung einen fertigen Programmcode erhälst, dann sind die meisten eher reserviert und würden dir einen professionellen Auftragsprogrammierer als Ansprechpartner empfehlen.
Gruß Daniel
AW: VBA / Tabellenblätter global mutieren
01.05.2020 12:26:05
Barbara
Hallo Adrian,
kannst Du mal anhand Deines Beispiels sagen, was das Makro konkret tun soll? Nur zum besseren Verständnis.
Übrigens: Ein Formelergebnis kopieren geht so: Kopieren wie gehabt. Einfügen, und dann Werte im Mausmenü anklicken. Oder Im Startmenü: Einfügen -Werte. (Das habe ich herausgelesen aus Deiner umfangreichen Beschreibung, was vielleicht sofort anwendbar ist).
LG
Barbara
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige