Zeilenverknüpfung eine Zeile weiter verschieben
Hallo zusammen,
ich habe ein Excel-Blatt, das mit sehr vielen Formeln auf unterschiedliche Zeilen einer anderen Excel-Datei verknüpft (Excel 2003):
='[Quelldatei.xls]Blatt1'!$A$137
='[Quelldatei.xls]Blatt1'!$B$42
='[Quelldatei.xls]Blatt1'!$A$210
='[Quelldatei.xls]Blatt1'!$B$77
usw.
Ich möchte nun (wöchentlich) alle Zeilen um eine Zeile verschieben. Die Formeln wären dann also:
='[Quelldatei.xls]Blatt1'!$A$138
='[Quelldatei.xls]Blatt1'!$B$43
='[Quelldatei.xls]Blatt1'!$A$211
='[Quelldatei.xls]Blatt1'!$B$78
usw.
Wie kriege ich das hin, ohne alle Formeln anpacken zu müssen? Hat jemand eine Idee?
Makro-Meister bin ich leider keiner :(
LG Regine
Antwort schreiben
Antwort 1 von Hajo_Zi vom 28.07.2022, 15:04 Options
Hallo Regine,
man könnte es über Indirekt lösen. Dazu müßte aber die Quelldatei auf sein.
Gruß Hajo
Antwort 2 von Regine vom 28.07.2022, 15:28 Options
Hallo Hajo,
wie müsste denn dann die Formel für mein Beispiel aussehen? Ich habe mit "indirekt" noch nicht gearbeitet und werde aus Tutorials hierzu irgendwie (in Bezug auf mein Problem) nicht schlau :(
LG Regine
Antwort 3 von Hajo_Zi vom 28.07.2022, 15:33 Options
Hallo Regine,
im Prinzip So für die erste Formel
=Indirekt("[Quelldatei.xls]Blatt1'!$A$" & Jahr(Heute())-2010+Formel Kalenderwoche+107)
Für die Kalender woche nicht die Funktion von Excel benutzen die rechnet falsch.
Gruß Hajo
Antwort 4 von Regine vom 28.07.2022, 15:59 Options
Hallo Hajo,
das übersteigt irgendwie immer noch meine Excel-Kompetenz. Wie wäre es denn mit folgendem Ansatz:
Z.B. aus dieser Formel:
='[Quelldatei.xlsm]Blatt1'!$A$137
mache ich diese Formel:
=INDIREKT("[Quelldatei.xlsm]Blatt1'! & A137 & A1")
In Worten: Verknüpfe auf Zelle A137 + die Zahl, die in A1 steht. Trage ich in A1 also z.B. eine 1 ein, dann soll auf A138 verknüpft werden.
Die Formel funktioniert aber leider nicht (obwohl die Quelldatei geöffnet ist). Als Ergebnis erhalte ich #BEZUG!.
Was ist an der Formel falsch?
Vielen Dank und LG
Regine
Antwort 5 von Hajo_Zi vom 28.07.2022, 16:10 Options
Halo Regina,
ich habe die formel so gestaltet das Sie auch für mehrere Jahre gilt falls nur ein Jahr und Du ermittelst in A1 die Kalenderwoche, dann
=Indirekt("[Quelldatei.xls]Blatt1'!$A$" &A1+107)
bei der ersten Formel soll ja 137 rauskommen.
bei der zweiten 12+A1 da 42 rauskommen soll.
da die Zahl in A1 ja für alle Formeln gelten soll.
Gruß Hajo
Antwort 6 von Regine vom 28.07.2022, 16:46 Options
Hallo Hajo,
ich kriege immer noch die Fehlermeldung #BEZUG!
Woran kann das liegen?
LG Regine
Antwort 7 von Hajo_Zi vom 28.07.2022, 16:49 Options
Hallo Regine,
die Datei ist schon auf?
enthält der Dateinamen vielleicht Leerstellen?
Gruß Hajo
Antwort 8 von Regine vom 28.07.2022, 16:58 Options
Hallo Hajo,
ja, die Datei ist auf und enthält keine Leerstellen. Habe zum Test auch noch eine zweite Datei angelegt, mit ganz infacher Benamung - aber die Fehlermeldung bleibt die gleiche :(
Viele Grüße
Regine
Antwort 9 von Hajo_Zi vom 28.07.2022, 17:40 Options
Hallo Regine,
mein Rechner gibt gerade den Geist auf. Darum kann ich jetzt nicht testen. Du hast schon meine Formel benutzt?
Da sind die " ein wenig anders gesetzt.
Gruß Hajo
Antwort 10 von Regine vom 28.07.2022, 18:35 Options
Haallo Hajo,
ich habe für meinen Test diese Formel hier verwendet:
=INDIREKT("[test.xls]blatt'!$B$" &A1+3)
--> Sind die " so korrekt gesetzt? Ansonsten würde doch Excel auch meckern, oder?
LG Regine
Antwort 11 von Hajo_Zi vom 28.07.2022, 19:38 Options
Hallo Regine,
ich sehe Leider keinen Fehler.
Ich habe das jetzt Bei mir nachgebaut und es geht.
=INDIREKT("[Bildschirm.xlsm]Statistik!$B$" & F27+24)
Gruß Hajo
Antwort 12 von malSchauen vom 29.07.2022, 07:58 Options
Hi,
@Regine A10
Das Hochkomma zwischen TabellenName und Ausrufezeichen dürfte bei Dir der Grund für den #Bezug!-Fehler sein.
bye
malSchauen
Antwort 13 von Regine vom 29.07.2022, 08:11 Options
Hallo Hajo und malSchauen,
jetzt hat's geklappt. Das Hochkomma war tats. der Grund!
Vielen Dank für eure Hilfe!
Hier noch mal die Formel, mit der es jetzt geklappt hat:
=INDIREKT("[test.xls]blatt!$B$" &A2+100)
LG Regine
Antwort 14 von rainberg vom 29.07.2022, 08:57 Options
Hallo Regine,
ich würde die Hochkommata verwenden.
Falls der Tabellenname mal Leerzeichen hat, gibt es da keine Probleme.
=INDIREKT("'[test.xls]blatt'!$B$"&A2+100)
Das erste Zeichen muss hinter dem ersten Anführungszeichen und das zweite Zeichen vor dem Ausrufezeichen stehen.
Gruss
Rainer