Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1176to1180
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

verknüpfte Arbeitsmappen öffnen und schließen

verknüpfte Arbeitsmappen öffnen und schließen
Wilfried
Guten Tag,
Meine Problemstellung:
Ich möchte die verknüpften Dateien einer Arbeitsmappe der Reihe nach öffnen und gleich wieder schließen. Dabei soll die jeweilige Datei, die geöffnet wurde, auch sofort wieder geschlossen werden bevor die nächste Datei geöffnet wird.
Ich nutze derzeit folgendes Makro um ALLE Dateien zu öffen:
Sub ÖffnenAllerVerknüpftenArbeitsmappen()
Dim Links As Variant
Links = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(Links) Then
For i = 1 To UBound(Links)
Workbooks.Open Links(i)
Next i
Else
MsgBox "Diese Arbeitsmappe hat keine Verknüpfungen zu anderen Mappen!"
End If
End Sub

Und dieses Makro um ALLE Dateien wieder zu schließen:
Sub SchliessenAllerVerknüpftenArbeitsmappen()
Dim Links As Variant
Dim i As Integer
Dim StDateiname As String
Dim InI As Integer
Links = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(Links) Then
For i = 1 To UBound(Links)
' Dateiname abtrennen
For InI = Len(Links(i)) To 1 Step -1
If Mid(Links(i), InI, 1) = "\" Then
StDateiname = Mid(Links(i), InI + 1, Len(Links(i)) - InI + 2)
Exit For
End If
Next InI
Workbooks(StDateiname).Close  ' True fall speichern
Next i
Else
MsgBox "Diese Arbeitsmappe hat keine Verknüpfungen zu anderen Mappen!"
End If
End Sub

Mein Anliegen ist die beiden Makros zu kombinieren. Meine bisherigen Versuche waren allerdings erfolglos.
Ich würde mich freuen, wenn mir jemand dabei helfen könnte.
Gruß
Wilfried

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: verknüpfte Arbeitsmappen öffnen und schließen
10.09.2010 08:30:53
xr8k2
Hallo Wilfried,
weise doch einfach das (jedes) geöffnete Workbook einer Variablen zu ... über diese Variable kannst du die Mappe dann bequem wwieder schließen:
Sub ÖffnenUndSchliessenAllerVerknüpftenArbeitsmappen()
Dim Links As Variant
Dim wb As Workbook
Links = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(Links) Then
For i = 1 To UBound(Links)
Set wb = Workbooks.Open(Links(i))
'hier u.U. noch weiterer Code zur Bearb. der geöffneten Mappe
wb.Close
Next i
Else
MsgBox "Diese Arbeitsmappe hat keine Verknüpfungen zu anderen Mappen!"
End If
End Sub
Gruß,
xr8k2
Anzeige
AW: verknüpfte Arbeitsmappen öffnen und schließen
10.09.2010 09:16:04
Wilfried
Hallo xr8k2
Vielen Dank für Deine spontane Hilfe. Der Code funktioniert!
Ich habe ihn noch leicht wie folgt ergänzt:
Sub ÖffnenUndSchliessenAllerVerknüpftenArbeitsmappen()
Dim Links As Variant
Dim wb As Workbook
Links = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(Links) Then
For i = 1 To UBound(Links)
'Aufruf Aktualisierung ausschalten: ", UpdateLinks:=0"
Set wb = Workbooks.Open(Links(i), UpdateLinks:=0)
'Speicheranfrage unterdrücken:
ActiveWorkbook.Saved = True
wb.Close
Next i
Else
MsgBox "Diese Arbeitsmappe hat keine Verknüpfungen zu anderen Mappen!"
End If
End Sub
Nochmal ein riesiges DANKE
Gruß
Wilfried
Anzeige
ActiveWorkbook.Saved = True
10.09.2010 09:46:32
Rudi
Hallo,
1. sollte es
wb.Saved=True
heißen.
2. kannst du das auch mit
wb.Close False
erledigen.
Gruß
Rudi
Schönheitsfehler
10.09.2010 10:10:01
Markus
Hallo,
ein Super-Befehl aber ..
wenn ich diesen Befehl als Private Sub Workbook_Open speichere,
den wb.close entferne war meine Überlegung folgende:
Excel öffent die Tabelle: Mappe dann wird über Workbook_Open die Tabelle: Verknüpfungen.xls geöffnet.
Aber Excel fragt zuerst nach den Verknüpfungen und erst nachher wird der Job
Sub_workbook_open ausgeführt.
Ist doch eigentlich nicht der Sinn der Sache.
Markus
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige