83 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo zusammen,

ich suche eine Lösung für folgendes Problem: Ich habe eine Exceltabelle, die sich aus mehreren, untereinander folgenden Blöcken zusammensetzt. Jeder Block stellt einen Monat dar und hat eine Kopfzeile, auf die sich die Folgezeilen des Blockes jeweils beziehen. Also: Die Info steht in der ersten Zeile des Blockes, das kann z.B. Zeile 147 der Gesamtdatei sein. In einzelnen Spalten wird die Kopfinfo für den ganzen Block übernommen. $B$147, im folgenden Block dann mit $B$161 u.s.w.  Jetzt sollen einzelne Monate aus anderen Dateien entnommen und in eine bestehende Datei eingefügt werden. Gibt es eine Möglichkeit, den Bezug des eingefügten Blockes an die neue Zeilenstruktur anzupassen? Also: Block mit Kopfzeile 50 in Datei A wird entnommen und in Datei B eingefügt, die Kopfzeile ist hier Zeile 75. Der Bezug der folgenden Zeilen soll sich von $B$50 auf $B$75 ändern, um die Funktionalität im Gesamtgefüge sicherzustellen.

Gibt es hier eine Möglichkeit?

Danke vorab!

10 Antworten

0 Punkte
Beantwortet von flupo Profi (13.2k Punkte)
Eine automatische Lösung fällt mir im Moment auch nicht ein. Man kann es aber etwas vereinfachen und die Formeln etwas transparenter machen, wenn man für die statischen Formelbestandteile Namen vergibt.

Wenn man solche Bereiche in eine neue Datei kopiert, werden die Namen mit ihren Zellbezügen mitgenommen. Man muss dann nur im Namensmanager den Bezug auf die neue Zelle umstellen und die Formel funktioniert wieder.

Sag Bescheid, wenn du es genauer beschrieben brauchst.

Gruß Flupo
0 Punkte
Beantwortet von
Hallo Flupo,

vielen Dank, in dieser Richtung waren wir auch schonmal unterwegs. Der Namensmanager führt zu Chaos, da sich die Namen (=Überschriften) regelmäßig wiederholen. Evtl. haben wir das Potential von Ecxel an der Stelle auch nicht komplett ausgeschöpft :-) Bisher passen die Mitarbeiter manuell den Zellbezug auf die "neue" Kopfzeile an und kopieren durch. Das ist im Endeffekt wohl der gleiche Aufwand.

Gruß Jens
0 Punkte
Beantwortet von m-o Profi (13.2k Punkte)
Hallo Jens,

wenn ich das richtig sehe, dann adressiert ihr in euren Formeln absolut (also mit $B$10). Dadurch ändern sich beim Kopieren die Bezüge nicht.

Wenn ihr die realitve Adressierung nutzt (also B10) werden die Formeln an die sich ändernden Bezüge angepasst.

Gruß

M.O.
0 Punkte
Beantwortet von flupo Profi (13.2k Punkte)

Namen (=Überschriften)

Das muss man ja nicht zwingend so machen. cool

0 Punkte
Beantwortet von

Hallo M.O.,

der Bezug muß innerhalb eines Blocks immer auf den Zellkopf sein. B10, B11, B12... geht nicht. $B10, $B11, $B12... geht bedingt, gibt aber leider auch immer wieder Kopierfehler, bzw. manuellen Anpassungsbedarf.

Es geht mir darum, eben diesen auszumerzen, da er doch immer wieder mal vergessen wird oder nicht korrekt umgesetzt wird.

@ flupo, dann hast du bestimmt einen Tipp, wie ich die Bezeichnungen sicher "einzigartig" anlegen kann wink?

Danke und Gruß Jens

0 Punkte
Beantwortet von m-o Profi (13.2k Punkte)
Hallo Jens,

mal eine Frage zum Verständnis: Braucht ihr in den kopierten Daten die Formeln oder reichen einfach die Werte?

Gruß

M.O.
0 Punkte
Beantwortet von
Hallo M.O.,

die Formeln. Die Folgezeilen nach dem Kopf müssen sich immer auf diesen beziehen. Das sind Monatsstatistiken, die im Kopf einen Kalkulationswert enthalten, die für alle eingetragenen Daten eines Monats identisch ist, aber von Monat zu Monat abweicht oder sich auch mal ändern kann. Deshalb muß der Kopfwert immer in die einzelnen Daten reingezogen werden.

Gruß Jens
0 Punkte
Beantwortet von m-o Profi (13.2k Punkte)

Hallo Jens,

man könnte vor dem Kopieren die absoluten Bezüge entfernen. Falls es ein großer Bereich ist, dann kann man das z.B. mit einem Makro machen:

Sub ersetzen()

Dim rngZelle As Range

For Each rngZelle In Selection
If rngZelle.HasFormula = True Then rngZelle.Formula = Replace(rngZelle.Formula, "$", "")
Next rngZelle

End Sub

Gruß

M.O.

0 Punkte
Beantwortet von flupo Profi (13.2k Punkte)

Tipp, wie ich die Bezeichnungen sicher "einzigartig" anlegen kann wink?

Ich versuche, die Namen immer möglichst sprechend zu vergeben.  Wenn man dabei auch noch die Sortierung im Namensmanager im Hinterkopf hat, kann man die zusammengehörigen Bereiche auch beieinander halten.

Beispiel: Du hat geschrieben, dass es die Tabellenabschnitte Monatsbezug haben. Wenn das Jahr keine Rolle spielt, würde ich alle Namen in einem Abschnitt mit dem zweistelligen Monat beginnen. Beispiel "01_CalcWert1" "01_Überschrift" usw. Wenn es eine überjährige Tabelle ist, kommt noch das Jahr vor den Monat. So richtig cool wird so ein System, wenn man es in Makros verwendet weil man sich die Namen aus den Bausteinen zusammensetzen kann und so lesbaren Code bekommt.

Gruß Flupo

0 Punkte
Beantwortet von
Hallo zusammen,

vielen Dank für den Input. Ich werde das in den kommenden Tagen mal ausprobieren.

Gruß Jens
...