Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Verknüpfungen von xlsx in xlsm ändern mit VBA

Verknüpfungen von xlsx in xlsm ändern mit VBA
31.03.2013 23:35:37
xlsx
Hallo,
ich habe in der Mappe1.xlsm zahlreiche Verknüpfungen zu verschiedenen anderen Excel-Dateien, die auf ".xlsx" enden. Nun werden diese (anderen) Exceldateien umgestellt auf ".xlsm". Die ursprünglichen Pfade ändern sich dabei nicht.
Wie kann ich am besten diese Anpassung vornehmen bzw. ließe sich das nachstehende Makro (von Bernd Held) so abändern, dass nur die Endungen (xlsm statt xlsx) in den Verknüpfungen ersetzt werden?
Für einen Tipp wäre ich dankbar.
Grüße, Constantin
Sub VerknüpfungenÄndern()
Dim Mappe As Workbook
Dim Vlink As Variant
Dim intz As Integer
Dim e As Integer
Dim s As String
Set Mappe = ThisWorkbook
Vlink = Mappe.LinkSources(xlExcelLinks)
If Not IsEmpty(Vlink) Then
Application.DisplayAlerts = False
For intz = 1 To UBound(Vlink)
e = InStrRev(Vlink(intz), "\") + 1
s = Mid(Vlink(intz), e, 20)
ThisWorkbook.ChangeLink Vlink(intz), _
"C:\Daten\" & s.xlExcelLinks
Next intz
Application.DisplayAlerts = True
End If
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verknüpfungen von xlsx in xlsm ändern mit VBA
01.04.2013 00:35:46
xlsx
Hi
wenn nur die Bezeichnung geändert wird, dann kannst du auch die ERSETZEN-Funktion verwenden und ".xlsx" durch ".xlsm" ersetzen.
Die Ersetzen-Funktion bearbeitet auch Formeln.
dim sh as Worksheet
For each sh in ThisWorkbook.Worksheets
sh.Cells.Replace ".xlsx", ".xlsm", xlpart
Next

Gruß Daniel

Anzeige
AW: Verknüpfungen von xlsx in xlsm ändern mit VBA
01.04.2013 06:43:19
xlsx
Hallo Constantin,
bevor man in jede Mappe Makros einfügt sollte man überlegen, eine Makrodatei zu erstellen, die die anderen Dateien alle verwenden können. Statt Buttons in Blättern kann man das Menüband nutzen, eventuelle Einstellungen oder auch "Vorlagenblätter" in eine weitere Datei packen usw. Wenn es gewünscht ist, die Geschichte immer beim Excelstart aktiv zu haben, kann man das als AddIn programmieren und installieren. Im Makro könnte man auch die offenen Dateien prüfen und die Aktionen nur ausführen, wenn eine Mappe mit bestimmten Namen aktiv ist ...
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

Anzeige
AW: ... vielen Dank.
01.04.2013 11:07:24
Constantin
Hallo Daniel, hallo André,
den Befehl habe ich eingebaut und auf einen selektierten Bereich (in Tabelle1) bezogen (Warnmeldung ebenfalls noch unterbunden). Hat funktioniert. Vielen Dank - auch für die Überlegung zur generellen Vorgehensweise.
Grüße, Constantin
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige