#Bezug! Fehler
#1
Smile 
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
Antworten Top
#2
Hi,

INDIREKT funktioniert nur mit geöffneten Dateien.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#3
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
Antworten Top
#4
Hi,

da ich nicht weiß, warum Du INDIREKT verwendest, kann ich Dir ohne Musterdatei nicht helfen. Vielleicht hilft ja INDEX weiter.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#5
Du könntest die erste Datei fest adressieren (ohne INDIREKT).

Die anderen erledigst Du dann mittels SUCHEN-ERSETZEN und vorbereiteten Strings.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste