Clever-Excel-Forum

Normale Version: #Bezug! Fehler
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

Dank der Hilfe aus dem Forum habe ich zur leichteren Abrechnung unserer Umgelegten Arbeitsstunden, mehrere Excel Arbeitsmappen mit Makros erstellt. Wir haben 4 Werkstätten an der Uni. Die mit eigenständigen gleichen Tabellen arbeiten. Durch eine Index Suchfunktion kann ich in der Mappe nach Einträgen zu der Auftragsnummer suchen und mir anzeigen lassen. Da wir die Aufträge immer noch in Papierform abrechnen! Uns wird dann der erste und letzte Eintrag (Datum) angezeigt, sowie die einzelnen KW mit der Gesamtstundenzahl.
Nun haben wir auch übergreifende Arbeit sodass in einem anderen Team Stunden erbracht werden. Diese können dann in Ihrer Mappe angezeigt werden jedoch nicht in einer anderen. Dies wollte ich ändern.
Nun habe habe ich zwei Probleme:

1. Wenn eine andere Mappe nicht geöffnet ist gibt mir die Suchfunktion nichts aus. Öffne ich die andere Mappe erscheinen die Einträge. Woran kann das hängen das?
=WENNFEHLER(INDEX('C:\Excel_Arbeit\Stundennachweis 2022\[Aufträge-Stundenzettel (Ost).xlsm]Abrechnung'!$D$3:$IBC$3;1;KKLEINSTE(WENN(INDIREKT("'C:\Excel_Arbeit\Stundennachweis 2022\[Aufträge-Stundenzettel (Ost).xlsm]Abrechnung'!$D$"&VERGLEICH($B$3;'C:\Excel_Arbeit\Stundennachweis 2022\[Aufträge-Stundenzettel (Ost).xlsm]Abrechnung'!$B$4:$B$304;0)+3&":$BC$"&VERGLEICH($B$3;'C:\Excel_Arbeit\Stundennachweis 2022\[Aufträge-Stundenzettel (Ost).xlsm]Abrechnung'!$B$4:$B$304;0)+3)<>0;MTRANS(ZEILE($Q$1:$Q$52)));ZEILE(Q1)));"")

=WENNFEHLER(INDEX(Abrechnung!$D$3:$IBC$3;1;KKLEINSTE(WENN(INDIREKT("Abrechnung!$D$"&VERGLEICH($B$3;Abrechnung!$B$4:$B$304;0)+3&":$BC$"&VERGLEICH($B$3;Abrechnung!$B$4:$B$304;0)+3)<>0;MTRANS(ZEILE($N$1:$N$52)));ZEILE(N2)));"")

2. hier erscheint #Bezug! fehler nur weil ich in einer anderen Mappe suchen möchte!

=INDEX(INDIREKT('C:\Excel_Arbeit\Stundennachweis 2022\[Aufträge-Stundenzettel (Ost).xlsm]Abrechnung'!$X$56&"!$F$4:$J$4");MIN(WENN((INDIREKT('C:\Excel_Arbeit\Stundennachweis 2022\[Aufträge-Stundenzettel (Ost).xlsm]Abrechnung'!$X$56&"!$F$6:$J$28")<>"")*(INDIREKT('C:\Excel_Arbeit\Stundennachweis 2022\[Aufträge-Stundenzettel (Ost).xlsm]Abrechnung'!$X$56&"!$d$6:$d$28")=$B$3);SPALTE(INDIREKT('C:\Excel_Arbeit\Stundennachweis 2022\[Aufträge-Stundenzettel (Ost).xlsm]Abrechnung'!$X$56&"!$F$6:$J$28"))-5)))

wärend er hier das korrekte Datum in Auswirft

=INDEX(INDIREKT($O$56&"!$F$4:$J$4");MIN(WENN((INDIREKT($O$56&"!$F$6:$J$28")<>"")*(INDIREKT($O$56&"!$D$6:$D$28")=$B$3);SPALTE(INDIREKT($O$56&"!$F$6:$J$28"))-5)))

Womöglich gibt es da bestimmt auch eine einfachere Lösung bin aber noch nicht so weit das ich dies besser umsetzten könnte.
Mir würde hier schon ein Tipp helfen was ich falsch mache.

Gruß Rainer
Hi,

INDIREKT funktioniert nur mit geöffneten Dateien.
Hi,
danke 28 

Mit was könnte ich Indirekt austauschen? Ich möchte nach einer bestimmten Nummer in 4 Arbeitsmappen danach suchen lassen.

Gruß Rainer
Hi,

da ich nicht weiß, warum Du INDIREKT verwendest, kann ich Dir ohne Musterdatei nicht helfen. Vielleicht hilft ja INDEX weiter.
Du könntest die erste Datei fest adressieren (ohne INDIREKT).

Die anderen erledigst Du dann mittels SUCHEN-ERSETZEN und vorbereiteten Strings.