Hallo Leute,
bin neu hier und möchte gerne folgendes wissen:
wie kann man auf eine Zelle in der "vorangehenden" Tabelle zugreifen ?
Also angenommen, ich habe Tabellenblätter namens "Januar", "Februar"..etc,
und möchte gerne automatisiert in jedem sheet einen Übertrag aus dem
Vormonat übernehmen, ohne explizit den Tabellennamen anzugeben.
Bin dankbar für jeden Tipp !
Mary
Bezug auf Tabelle (n-1)
Moderator: Moderatoren
Um auf eine andere Tabelle zugreifen zu können, benötigt man den Namen dieser Tabelle. Meines Wissens kann man per Formel aber immer nur die Tabellennummer herausfinden.
Also habe ich eine Hilfstabelle in mein Dokument eingefügt und darin eine Matrix angelegt. Diese enthält in der ersten Spalte alle vorkommenden Tabellennummern, also z.B. 1-12. In der zweiten Spalte habe ich die entsprechenden Tabellennamen eingetragen (das aber nur aus Gründen der Lesbarkeit), also Januar bis Dezember und in der dritten Spalte die Tabellennamen nochmal, aber um eine Zeile verschoben, sodass jede Tabelle rechts neben sich den Namen ihrer Vorgängertabelle stehen hat, also Dezember bis November. Der Matrix habe ich den Namen "Monate" gegeben.
Nun kann ich in jeder Tabelle mit Hilfe der Befehle SVERWEIS und TABELLE* den Namen ihrer Vorgängertabelle herausfinden:
=SVERWEIS(TABELLE(A1);Monate;3)
(TABELLE(A1) eruiert die Tabellennummer der aktuellen Tabelle und SVERWEIS findet dann anhand dieser Tabellennummer den Namen der Vorgängertabelle).
Wenn ich jetzt auf den Inhalt von Zelle C23 aus der Vorgängertabelle zugreifen möchte, muss ich zunächst die vollständige Adresse zusammensetzen:
=VERKETTEN(SVERWEIS(TABELLE(A1);Monate;3);".C23")
und nun hilft mir der Befehl INDIREKT, auch den Inhalt der Zelle zu bekommen. Der ganze Befehl lautet also:
=INDIREKT(VERKETTEN(SVERWEIS(TABELLE(A1);Monate;3);".C23"))
Bei diesem Ansatz darf die Tabellenreihenfolge nicht geändert werden, bzw. man muss dann die Matrix wieder anpassen. Ansonsten muss man die Matrix-Logik anders aufbauen und nicht über die Tabellennummer gehen, sondern z.B. den "eigenen" Namen jeder Tabelle auch irgendwo in die Tabelle schreiben und dann ausgehend vom eigenen Namen in der Matrix den Namen der Vorgänger-Tabelle herausfinden.
* beim Befehlsnamen TABELLE bin ich nicht 100%ig sicher, da ich nicht mit einer deutschen Version arbeite. Jedenfalls findet man den Befehl in der Rubrik "Tabelle".
Gruss, Lib
Also habe ich eine Hilfstabelle in mein Dokument eingefügt und darin eine Matrix angelegt. Diese enthält in der ersten Spalte alle vorkommenden Tabellennummern, also z.B. 1-12. In der zweiten Spalte habe ich die entsprechenden Tabellennamen eingetragen (das aber nur aus Gründen der Lesbarkeit), also Januar bis Dezember und in der dritten Spalte die Tabellennamen nochmal, aber um eine Zeile verschoben, sodass jede Tabelle rechts neben sich den Namen ihrer Vorgängertabelle stehen hat, also Dezember bis November. Der Matrix habe ich den Namen "Monate" gegeben.
Nun kann ich in jeder Tabelle mit Hilfe der Befehle SVERWEIS und TABELLE* den Namen ihrer Vorgängertabelle herausfinden:
=SVERWEIS(TABELLE(A1);Monate;3)
(TABELLE(A1) eruiert die Tabellennummer der aktuellen Tabelle und SVERWEIS findet dann anhand dieser Tabellennummer den Namen der Vorgängertabelle).
Wenn ich jetzt auf den Inhalt von Zelle C23 aus der Vorgängertabelle zugreifen möchte, muss ich zunächst die vollständige Adresse zusammensetzen:
=VERKETTEN(SVERWEIS(TABELLE(A1);Monate;3);".C23")
und nun hilft mir der Befehl INDIREKT, auch den Inhalt der Zelle zu bekommen. Der ganze Befehl lautet also:
=INDIREKT(VERKETTEN(SVERWEIS(TABELLE(A1);Monate;3);".C23"))
Bei diesem Ansatz darf die Tabellenreihenfolge nicht geändert werden, bzw. man muss dann die Matrix wieder anpassen. Ansonsten muss man die Matrix-Logik anders aufbauen und nicht über die Tabellennummer gehen, sondern z.B. den "eigenen" Namen jeder Tabelle auch irgendwo in die Tabelle schreiben und dann ausgehend vom eigenen Namen in der Matrix den Namen der Vorgänger-Tabelle herausfinden.
* beim Befehlsnamen TABELLE bin ich nicht 100%ig sicher, da ich nicht mit einer deutschen Version arbeite. Jedenfalls findet man den Befehl in der Rubrik "Tabelle".
Gruss, Lib
Hey S. (komischer Name, da waren die Eltern wohl etwas geizig
)
Gruss
Thomas

Ja. Auf andere Dateien kannst du nicht so einfach zugreifen! Diese müssten ja erst geöffnet und dann (im internen Controller) angesprochen werden. Das geht normalerweise mit DDE, wobei diese Funktion zum Standardumfang gehört (-> Hilfe: DDE ). Damit sollte das dann gelingen. Aber: Die verknüpfte Datei wird immer von OOo geöffnet (und ist dann auch sichtbar, wenn du die Werte aktualisierst (Anders ist eine Datenübernahme nicht möglich - höchsatens noch direkt in Basic, aber da wird es auch schwierig)Any hints?
Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic