Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1304to1308
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ü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

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

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

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige