Abfragefenster "Werte aktualisieren" unterdrücken.

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Abfragefenster "Werte aktualisieren" unterdrücken. von: Thoms
Geschrieben am: 14.03.2005 16:29:34

Hallo zusammen,

wie kann ich das Fenster ""Werte aktualisieren" unterdrücken, welchen "aufploppt", wenn eine Datei (Verknüpfung) nicht an dem angegebenen Ort vorhanden ist?

Userbild


Ich habe Vernüpfungen auf Dateien gemacht, welche erst nach und nach eingestellt werden. Die Verknüpfung auf jene Dateien habe ich jedoch bereits jetzt erstellt, obgleich jene Dateien erst zukünftig in dem Ordner liegen werden.

Ich möchte nun, dass Excel immer nur jene Dateien aktualisiert, welche bereits dort liegen und bei allen Dateien, welche noch nicht in jenem Ordner liegen, mich nicht fragt, wo denn diese Dateien zu finden sind. Wenn die Datei nicht vorhanden ist, soll einfach nur der "#Bezug!" Fehler angezeigt werden.

Gibt es Alternativen zu einer VBA-Lösung?

Danke und lieben Gruß,
Thoms

Bild


Betrifft: AW: Abfragefenster "Werte aktualisieren" unterdrücken. von: Volker
Geschrieben am: 14.03.2005 16:37:49

Hallo Thoms,

heute hatte schon einer 'ne ähnliche Frage.
Per VBA unterdrücken, geht nicht.
Aber unter Bearbeiten/verknüpfungen kann man einstellen, was beim Öffnen der Datei geschehen soll.

Gruß
Volker


Bild


Betrifft: AW: Abfragefenster "Werte aktualisieren" unterdrücken. von: Thoms
Geschrieben am: 14.03.2005 17:05:37

Hallo Volker,

ersteinmal vielen Dank für deine Antwort.

Handelt es sich bei dem von dir genannten Fenter aber nicht um die Frage, ob die Verknüpfungen aktualisiert werden sollen oder nicht:

Userbild


Ich möchte die Verknüpfungen ja aktualisieren. Wenn diese jedoch nicht vorhanden sind, dann soll nicht das folgende Fenster erscheinen:

Userbild


Diese Abfrage würde ich gern unterdrücken.

Lieben Gruß,
Thoms.


Bild


Betrifft: AW: Abfragefenster "Werte aktualisieren" unterdrücken. von: Volker
Geschrieben am: 14.03.2005 17:09:24

Hallo Thoms,

wie ich schon sagte, das geht nicht, weil diese Abfrage offensichtlich das erste ist, was beim Öffnen ausgelöst wird.
Guckst Du hier:
https://www.herber.de/forum/index.htm?https://www.herber.de/forum/messages/584742.html

Gruß
Volker


Bild


Betrifft: AW: Abfragefenster "Werte aktualisieren" unterdrücken. von: Thoms
Geschrieben am: 14.03.2005 17:25:00

Hallo Volker,

evtl. verstehe ich dich falsch.

In diesen Einstellungen (ich habe sie gerade noch einmal gecheckt) kann ich folgendes markieren:

Userbild


Ich habe dort "Keine Warnung anzeigen und Verknüpfungen aktualisieren" angeklickt. Ich bekomme also nicht beim Öffnen der Arbeitsmappe das folgende Fenster:

Userbild


Dennoch habe ich ja in meiner Mappe diverse Verknüpfungen auf Dateien, welche noch nicht dort liegen, wo ich es in der Formel angegeben habe. Bei allen diesen Verknüpfungen werde ich jetzt nach dem "Ort" der Datei gefragt. Der Ort, bzw. die Verknüpfung ist jedoch richtig, nur dass die Datei heute da noch nicht liegt, sondern erst in der Zukunft. Was mache ich also, dass Excel mich nicht bei "fehlerhaften" Verknüpfungen nach dem Speicherort fragt, sondern einfach nur still aktualisiert, was aktualisiert werden kann und alle anderen Verknüpfungen mit einem "#Bezug!" Fehler anzeigt.

Lieben Gruß,
Kay.


Bild


Betrifft: AW: Abfragefenster "Werte aktualisieren" unterdrücken. von: Anton
Geschrieben am: 14.03.2005 16:51:01

Hallo Thoms,
Dein Problem kannst Du mit SVERWEIS erschlagen.
Mein Vorschlag zur Vorgehensweise:
- Auf ein Tabellenblatt schreibst Du was kommen soll.
- Auf das nächste Tabellenblatt lässt Du die vorhandenen Dateien listen.
- Dann stellst Du beides auf ein searates Blatt nebeneinander.
- Schließlich vergleichst Du mit SVERWEIS die beiden Spalten.
(Wenn Du Oben zwei Zeilen Luft für Überschriften lässt, könntest Du die gefundenen per Autofilter zusammenfassen lassen).

Bei den Codes kann ich Dir helfen.

Servus,
Anton


Bild


Betrifft: AW: Abfragefenster "Werte aktualisieren" unterdrücken. von: Thoms
Geschrieben am: 14.03.2005 17:15:27

Hallo Anton,

prinzipiell mache ich das auch genauso, wie du es beschrieben hast.
In der einen Spalte steht, was kommen sollte und in der anderen Spalte habe ich eine direkte Verknüpfung auf die Datei und Zelle, wo jene Info zu finden ist oder zu finden sein wird. Anschließend vergleiche ich dann. Wenn ich "#Bezug!" als Fehler bekomme, weiß ich ja, dass die Datei noch nicht vorhanden ist. Mir geht es jetzt nur darum, dass wenn ich die Verknüpfungen aktualisiere (und Excel nach den Dateien sucht) Excel mich immer bei jenen Dateien, welche noch nicht da liegen, wo sie liegen sollten mit dem beschriebenen Fenster "nervt" - anstatt einfach nur zu schauen, ob die Verknüpfung aktualisiert werden kann (und wenn ja diese aktualisiert) oder wenn Excel nicht aktualisieren kann (weil die Datei noch nicht vorhanden ist), mich nicht fragt, wo die Datei zu finden ist, sondern einfach nur "still" ist und den Bezugs-Fehler anzeigt. :-)

Lieben Gruß,
Kay.


Bild


Betrifft: hier mal ein paar codes von: Anton
Geschrieben am: 14.03.2005 17:29:35

Hallo Kay,

hier mal ein paar Codes, die an Deine Bedürfnisse anpassen mußt.
-------------------------------------------
Sub a1_Tabellenleerung()
'hiermit werden alte Inhalte gelöscht

Sheets("alle_nicht_gebookmarkt").Select
Range("A2:F60000").Select
Selection.ClearContents
Sheets("alle_gebookmarkt").Select
Range("A2:F60000").Select
Selection.ClearContents
Sheets("gefiltert_nicht_gebookmarkt").Select
Range("A3:F60000").Select
Selection.ClearContents
Sheets("gefiltert_gebookmarkt").Select
Range("A3:F60000").Select
Selection.ClearContents
Sheets("anwesenheitsprüfung").Select
Range("A2:F60000").Select
Selection.ClearContents
Sheets("Suchparameter").Select
Range("C2").Select
End Sub
----------------------------------------------------
Sub b1_DateienFinden_Y()

Sheets("alle_nicht_gebookmarkt").Select
Dim arr As Variant
Dim i As Integer
Sheets("alle_nicht_gebookmarkt").Hyperlinks.Delete
Range("a2:a60000").ClearContents

With Application.FileSearch
.NewSearch
.LookIn = Sheets("Suchparameter").Range("C2").Value
.SearchSubFolders = True
.Filename = Sheets("Suchparameter").Range("C4").Value
.Execute
For i = 1 To .FoundFiles.Count
Sheets("alle_nicht_gebookmarkt").Cells(i + 1, 1) = cutter(.FoundFiles(i))

Sheets("alle_nicht_gebookmarkt").Hyperlinks.Add _
anchor:=Cells(i + 1, 1), _
Address:=.FoundFiles(i)

Next
End With
'MsgBox ("Die Dateien von Y wurden ausgelesen")

End Sub
------------------------------------------------------------
Sub b2_DateienFinden_X()

Sheets("alle_gebookmarkt").Select
Sheets("alle_gebookmarkt").Hyperlinks.Delete
Range("a2:a60000").ClearContents

Dim i As Long
With Application.FileSearch
.NewSearch
.LookIn = Sheets("Suchparameter").Range("C3").Value
.SearchSubFolders = True
.Filename = Sheets("Suchparameter").Range("C4").Value
.Execute
For i = 1 To .FoundFiles.Count
Sheets("alle_gebookmarkt").Cells(i + 1, 1) = cutter(.FoundFiles(i))


Next
End With

'MsgBox ("Die Dateien von X wurden ausgelesen")

End Sub
------------------------------------------------------------
Private Function cutter(Pfad As String) As String
Dim l As Integer
l = InStrRev(Pfad, "\") + 1
cutter = Mid(Pfad, l, 100)
End Function

-------------------------------------------------------------
Sub b3_Dateien_ausfiltern()

'Ausfiltern der gefundenen Dateien
'die noch nicht gebookmarkt sind

Sheets("alle_nicht_gebookmarkt").Select
Range("A2:A60000").Select
Selection.Copy
Sheets("gefiltert_nicht_gebookmarkt").Select
Range("A3").Select
ActiveSheet.Paste
Columns("A:A").Select
Application.CutCopyMode = False
Range("A1:A23").AdvancedFilter Action:=xlFilterInPlace, Unique:=True

'Ausfiltern der gefundenen Dateien
'die bereits gebookmarkt sind
Sheets("alle_gebookmarkt").Select
Range("A2:A60000").Select
Selection.Copy
Sheets("gefiltert_gebookmarkt").Select
Range("A3").Select
ActiveSheet.Paste
Columns("A:A").Select
Application.CutCopyMode = False
Range("A1:A23").AdvancedFilter Action:=xlFilterInPlace, Unique:=True

Sheets("Suchparameter").Select

End Sub
--------------------------------------------------
Sub b4_vorbereitenErgebisSeite()

Sheets("anwesenheitsprüfung").Select
Cells.ClearContents

Range("A1").Select
ActiveCell.FormulaR1C1 = "nicht gebookmarkte (neue) Dateien"
Range("B1").Select
ActiveCell.FormulaR1C1 = "OK?"
Range("C1").Select
ActiveCell.FormulaR1C1 = "gebookmarkte Dateien"
Range("D1").Select
ActiveCell.FormulaR1C1 = "-leer-"
Range("E1").Select
ActiveCell.FormulaR1C1 = "Fundstücke"


Sheets("Suchparameter").Select


End Sub
---------------------------------------------------------
Sub b5_Dateien_nebeneinander()

'Holen der gefundenen Server-Dateien von Tabelle1
Sheets("gefiltert_nicht_gebookmarkt").Select
Range("A3:A60000").Select
Selection.Copy
Sheets("anwesenheitsprüfung").Select
Range("A2").Select
ActiveSheet.Paste

'Holen der der gebookmarkten Dateien von Tabelle2
Sheets("gefiltert_gebookmarkt").Select
Range("A3:A60000").Select
Selection.Copy
Sheets("anwesenheitsprüfung").Select
Range("C2").Select
ActiveSheet.Paste

Sheets("Suchparameter").Select

End Sub
-----------------------------------------------------
Sub b6_Formel_einsetzen()

Sheets("anwesenheitsprüfung").Select

formel1 = "=VLOOKUP(RC[-4],C[-2],1,FALSE)"
'einfügen der Vergleichs-Formel
'=SVERWEIS(A2;C:C;1;FALSCH)
formel2 = "=IF(ISBLANK(RC[-1]),"" "",IF(ISERROR(RC[3]),""<= die ist neu"",""<= hab ich schon""))"
'einfügen der Gefunden-Formel
'=WENN(ISTLEER(A2);" ";WENN(ISTFEHLER(E2);"<= die ist neu";"<= hab ich schon"))

Range("A2").Select 'BezugsZelle für alle Aktionen = Zelle A2

Do While ActiveCell.Address <> "$A$65001" 'bis zur Zelle F65001 arbeiten
zell = ActiveCell.Address
If ActiveCell <> "" Then 'wenn auf eine leere Zelle gestoßen wird

ActiveCell.Offset(0, 4).Select
ActiveCell = formel1 ' Formel wird in Spalte E gleiche Zeile eingetragen

ActiveCell.Offset(0, -3).Select
ActiveCell = formel2 ' Formel wird in Spalte B gleiche Zeile eingetragen
End If
Range(zell).Offset(1, 0).Select
Loop


'beseitigen des LINK-Look
Columns("C:C").Select
With Selection.Font
.Name = "Arial"
.FontStyle = "Standard"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 1
End With

'Schönheitsoperation: automatische Spaltenbreite
Columns("A:B").Select
Columns("A:B").EntireColumn.AutoFit
'Überschrift Fett
Rows("1:1").Select
Selection.Font.Bold = True
End Sub
------------------------------------------------
Sub c1_rausspeichern_Dialog()

Sheets("anwesenheitsprüfung").Select 'zum Ergebnisblatt

Cells.Select 'alle Zellen markieren
Selection.Copy 'Auswahl kopieren
Workbooks.Add 'neue Excel-Mappe
ActiveSheet.Paste 'Klemmbrett-Inhalt einfügen
Application.CutCopyMode = False 'Klemmbrett säubern
Application.Dialogs(xlDialogSaveAs).Show 'Datei-name abfragen

End Sub
===============================================


Ich hoffe Du kannst Damit etwas anfangen.....

Du siehst vielleicht, daß ich meine Dateien erst öffne,
wenn sie vorhanden sind.
Der Vergleich selbst geschieht nur auf Basis der Datei-Namen.


Servus,

Anton.
PS: Wenn Du von mir noch weitere Kommentare brauchst,
schreibe ich Dir gerne morgen noch ein paar Zeilen oder schick' Dir meine Datei zum Experimentieren.


Bild


Betrifft: AW: Abfragefenster "Werte aktualisieren" unterdrücken. von: Volker
Geschrieben am: 14.03.2005 17:45:09

Hallo Kay,

ich hab ev. noch eine Idee:
Du machst ja die Aktualisierung manuell:
Wenn Du weißt, wie deine Verknüpfungen heisen, kannst Du sie mit einer Schleife abarbeiten.

For i=1 to 10
on error goto weiter
ActiveWorkbook.UpdateLink Name:="Mappe" & i, Type:=xlExcelLinks
weiter:
next

Leider werden Deine Mappen wohl nicht "Mappe1" bis "Mappe x" heißen.
Aber Du kannst ja Ihre Namen in einem array ablegen, dann kannst Du trotzdem mit einer Schleife arbeiten.


Am besten wäre, wenn die Verknüpfungen sie so etwas wie einen Index hätten.
"Verküpfungsname = ActiveWorkbook.Link(1).Name" geht leider nicht, war auch nur ein Schuß ins Blaue von mir.
Mit der richtigen Syntax geht's vielleicht.

Gruß
Volker


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zahlenformat"