Clever-Excel-Forum

Normale Version: Dateibezug behalten, Daten löschen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe folgendes Problem:

Ich habe eine Excel-Datei die aus einer Tabelle besteht. In der Tabelle sind viele Bezüge auf einen Ordner mit mehreren Bezugsdateien (Bestellung_1, Bestellung_2, etc. )
Ziel ist es, in einem Ordner mehrere Bestellungen (mit einer Standardvorlage) zu speichern und in einer anderen Übersichtsdatei bestimmte Werte dieser Bestellungen geordnet abzurufen.

Wenn ich einen Bezug zu einer Zelle zu einer der Bestellungsdateien herstelle bekomme ich den Wert angezeigt. Wenn die Bezugsdatei nicht vorhanden ist wird "#Bezug!" angezeigt. 
Soweit so gut. 
Wenn die Datei allerdings vorhanden ist, der Bezug schon hergestellt wurde und DANACH die Datei wieder gelöscht wird, bleibt der alte Wert der Bezugszelle bestehen.

Das Problem: Ich brauche am Ende natürlich nur die Informationen die in dem Bestellordner vorhanden sind, keine ehemaligen Infos von schon längst gelöschten Dateien.

Kann man das realisieren? 

Gruß
Henry
Hallo,

wenn ich Dich halbwegs richtig verstanden habe, dann 

lasse ich mir die bestehenden Verknüpfungen anzeigen,
klicke auf Aktualisieren
lösche die nicht mehr vorhandenen.

aber ich bin überhaupt nicht sicher, ob ich Dein Problem verstanden habe.
Hallo,

nicht ganz. 
Ich möchte die Formeln für zukünftige Verknüpfungen in meiner Tabelle behalten. 

Beispiel:

Tabelle:

C:\Bestellungen\Bestellungen\[Bestellung_1.xlsx]Tabelle1'!$D$5
C:\Bestellungen\Bestellungen\[Bestellung_2.xlsx]Tabelle1'!$D$5
C:\Bestellungen\Bestellungen\[Bestellung_3.xlsx]Tabelle1'!$D$5


Der Ordner C:\Bestellungen hat noch keine Dateien. Ergo steht in meiner Tabelle noch 3x #Bezug! drin. Logisch. 

Jetzt erstelle ich eine Datei mit dem text "test" in Zelle D5 und speichere die Datei in C:\Bestellungen.

Jetzt steht in meiner Tabelle:

test 
#Bezug!
#Bezug!

Wenn ich jetzt die Datei Bestellung_1 in dem Ordner C:\Bestellungen lösche, sagt mir Excel bei Verknüpfung bearbeiten: 

Fehler: Quelle nicht gefunden

ABER in meiner Tabelle steht immer noch "test" und nicht #Bezug!

Warum?


Ich hoffe das war etwas verständlicher erklärt.

Gruß
Henry
Moin!
Scheint mir ein Paradebeispiel für eine Ordner-Abfrage mittels Power-Query zu sein.

Gruß vom Smartphone,
Ralf
Hallo Henry,

eventuell könnte auch diese Info, aus der Office- Hilfe weiterhelfen, z.B. beim öffnen der Arbeitsmappe:
Steuern des Aktualisierungszeitpunkts externer Bezüge (Verknüpfungen):
Entscheiden, ob Verknüpfungen bei der Eingabeaufforderung beim Start aktualisiert werden.

Gruß Karl
Hallo Henry, Hallo Karl,

Wie man mit den Verknüpfungen umgehen kann, das habe ich ja schon erklärt und Karl hat es mit ebenfalls nochmal erklärt.
Nun habe ich verstanden, daß Du Probleme hast, wei Du die Verknüpfungen behalten willst, obwohl Du die Datei löschen willst.

Da fällt mir (ungetestet) nur ein, die Verknüpfungen, die sich auf die zu löschende Datei beziehen mit einem Hochkomma vor
dem Bezugeintrag zu versehen. Das ist dann ein normaler String und die Verknüpfung dürfte dann deaktiviert sein.

Nun kann man die Datei löschen und die Bezüge bleiben erhalten.

Was das aber für einen Sinn ergeben soll, erschließt sich mir nicht.
Ich würde mich nicht mit jeder einzelnen Verknüpfung aufhalten wollen, um sie a) händisch zu deaktivieren und b) sie später irgendwann
mal wieder ebenfalls händisch wieder aktivieren zu wollen, und möglicherweise noch andere Änderungen händisch durchführen zu müssen,
damit das dann auch wirklich paßt. Da scheint mir der Aufwand doch unverhältnismäßig hoch.
Ich denke, da bin ich schneller, bequemer und vor allem fehlerfreier unterwegs, wenn ich neue Verknüpfungen einrichte.

Außerdem, ich schreibe es nochmal; das Ganze habe ich nicht getestet.
Hallo Henry,

wie kennst Du Dich eigentlich mit Makros aus?
Anders wird Deine Aufgabe nicht zu lösen sein.

Beim Öffnen der Datei müsstest Du ein Makro laufen lassen, welches prüft, ob die Datei vorhanden ist. Ist sie das, wird die Formel eingetragen. Ist sie das nicht, wird die Zelle geleert. Eventuell könnte man generell noch vor dem Schließen die Formeln entfernen und nochmal speichern, um unerwünschte Meldungen beim Öffnen zu vermeiden.
Danke schon mal für alle Antworten.

@schauan: Nein, leider nicht. Ich weiß, dass man Makros machen kann und wo das geht, kenne aber die Befehle nicht.
Wäre das sehr kompliziert? 


@RPP63: Danke auch für die Lösung. Da müsste ich mich auch erstmal reinfuchsen.

Die frage ist ja jetzt: Welche von den beiden Lösungen ist simpler?

Gruß
Henry
Hallo Henry

über ein Makro laesst sich reden wenn du eine Beispieldatei hochlaedst. Sonst ist das zuviel Arbeit.
Es gibt aber noch einen ganz blööden Trick Formeln in der Tabelle  -inaktiv-  zu belassen!!

Diesen Blöden Trick benutze ich auch um Formeln zu kopieren wenn die Bzüge erhalten bleiben müssen!
Öffne den Dialog Suchen - Ersetzen und setze vor jede Formel die nicht aktiv sein soll das " ' " Zeichen!
Jetzt ist die Formel noch im Blatt, als Text, aber sie ist wirkungslos.  Ist das eien Option für dich??

mfg  Gast 123
Hallo Henry,

im Prinzip geht das so.
Der Code kommt in das Codemodul "DieseArbeitsmappe".
Den fehlenden Code zum Formeleintragen kannst Du aufzeichnen du übernehmen.
Die Zeile mit dem Range("A1") müsstest Du entsprechend der notwendigen Zelladresse ändern.
Beim Vergleich ist Groß/Kleinschreibung zu beachten. Könnte man aber zum Vergleich in Groß-oder Kleinbuchstaben ändern --> Teil mit ="..."

Code:
Private Sub Workbook_Open()
If Dir("C:\Bestellungen\Bestellungen\Bestellung_1.xlsx") = "Bestellung_1.xlsx" Then
    'Formel eintragen
Else
    'Formel entfernen
    Range("A1") = ""
End If
End Sub