Excel Hyperlink Sammeländerung

Liebe/-r Experte/-in,

Bei einer von mir erstellten Excel-Datei in Office 2007 habe ich in jeder Zeite einen
Hyperlink auf verschiedene Word 2007 Dateien (docx) gemacht.
Kann ich in der Excel-Datei eine Sammeländerung der Links (Ca. 1200) vornehmen, oder muss ich jeden Link einzeln anfassen und ändern.
Die Datei ist soll jemand bekommen der absoluter Laie ist und Windows 97 oder 2003 hat. (Kann er mir nicht sagen). Auch von dem Windows-Konverter hat er keine Ahnung. Da in meinem Bekanntenkreis Niemand Wondows 2003 hat habe ich keine andere Möglichkeit.

Hallo Jürgen,

wenn alle Hyperlinks untereinander in einer Saplte stehen, musst du nur die Spalte markieren und dann mit Strg + H ganz einfach die alten Verweise oder Dateinamensteile durch die neuen ersetzen, z.B. \verzAlt\Dateialt.xxx durch \Verzneu\DateiNeu.xxx oder was auch immer bei dir geändert werden muss. es sollte nur überall dasselbe sein, sonst musst du die Hyperlinks gruppenweise markieren, bei denen es dieselben Änderungen gibt und dann die nächste Gruppe markieren usw.

Ihc hoffe, das hat Dir geholfen

die Lösung von WolliP ist m.E. die einzige Möglichkeit, Dein Problem zu bewältigen…

Gruss
tmuewi

Hallo,

ich würde die Makros einfach mit „Suchen“ und „Ersetzen“ ändern.

Gruß
Christof

Hallo Jürgen

die Änderung von Hyperlinks läßt sich nur mittels eines kleinen VBA-Scripts bewerkstelligen. Suchen/Ersetzen scheidet hier komplett aus. Um nun ein Script zu schreiben muß man das Problem genauer kennen. Um welche Änderungen handelt es sich?
Bsp.: Ein Rechner auf den die Hyperlinks verweisen existiert nicht mehr und es müssen alle Links auf den neuen Rechnernamen umgestellt werden.

Viele Grüße
Franz

Kann ich in der Excel-Datei eine Sammeländerung der Links (Ca.
1200) vornehmen, oder muss ich jeden Link einzeln anfassen und
ändern.

Hallo Jürgen

diese Anfrage kam 2x

Viele Grüße
Franz

Hallo Franz,

vielen Dank für Deine Meldung.
Bei der Excel Tabelle ist in jeder Zeile ein Hyperlink auf eine andere Datei gelegt.
Die Dateien habe ich bereits auf .doc verändert.
Ich greife jetzt also auf eine nicht existierende Datei zu.Datei hat ein Volumen von ca. 1,2 GB
Gruss Jürgen

Hallo Jürgen

iuch denke ich habe dich nun verstanden. Du willst in allen Hyperlinks das x von der Endung .docx entfernen.
Hier ein kleines VBA-Script das die Spalte A von oben bis unten durchsucht und in allen gefunden Hyperlinks das x entfernt.

Option Explicit

Sub Change_Hyperlinks()
Dim n As Integer
Dim HLink As String

For n = 1 To Cells(Rows.Count, 1).End(xlUp).Row
HLink = Cells(n, 1).Hyperlinks(1).Address
If Right(HLink, 1) = „x“ Or Right(HLink, 1) = „X“ Then
Cells(n, 1).Hyperlinks(1).Address = Left(HLink, Len(HLink) - 1)
End If
Next n

End Sub

Bitte vorab eine Sicherheitskopie der Datei erstellen und das Script einkopieren und starten. Der Rest geht dann ganz von alleine.

Viele Grüße
Franz

Hallo Franz,
vielen Dank für Deinen Skript.
Leider habe ich noch nie einen Skriptin eine Excel_Datei eingefügt. Wie geht dies.
Die Spalte F muss verändert werden.
Gruss Jürgen

Hallo Jürgen

das geht ganz einfach. Öffne die betreffende Exceldatei und klicke mit der „rechten Maus“ auf das unterer Register mit der Angabe der Tabelle. Meist steht da „Tabelle1“. In dem erscheinenden Kontextmenü wählst du den Punkt „Code anzeigen“ aus. Es erschein ein völlig neues Fenster mit der Überschrift „Microsoft Visual Basic …“. Suche in der linken Fensterhälfte den Eintrag „Diese Arbeitsmappe“ und mache einen Doppelklick drauf. Jetzt wird es an der Zeit, daß du den Code des VBA-Scripts in die rechte Fensterhälfte einkopierst.

Hier die geänderte Variante für die Spalte F:

Option Explicit

Sub Change_Hyperlinks()
Dim n As Integer
Dim HLink As String

For n = 1 To 30000
If Cells(n, 6) „“ Then
HLink = Cells(n, 6).Hyperlinks(1).Address
If Right(HLink, 1) = „x“ Or Right(HLink, 1) = „X“ Then
Cells(n, 6).Hyperlinks(1).Address = Left(HLink, Len(HLink) - 1)
End If
End If
Next n

End Sub

Abschließend muß das Script nur noch gestartet werde. Dazu schließt du das Fenster mit der Überschrift „Microsoft Visual Basic …“ und deine normale Tabelle erscheint wieder. Jetzt im Menü auf den Punkt „Extras“ klicken, dann auf „Makros“ und weiter auf „Makros …“. Ein kleines Fenster erscheint mit der Überschrift „Makro“. In ihm siehst du nun das einkopierte VBA-Script mit dem Namen „Diese Arbeitsmappe, Change_Hyperlinks“. Klicke diesen Eintrag an und wähle dann rechts die Schaltfläche „Ausführen“. Das Makro wird nun ausgeführt und in allen Links wird das X aus der Endung .docx entfernt.

Viele Grüße
Franz

Hallo Franz,

vielen Dank für den Skript.
Habe versucht diesen einzubinden.
Leide bekomme ich die Meldung:
Syntaxfehler Zeile 9

Gruss Jürgen

Hallo …

sind die Änderungen der Links einer gewissen Systematik unterworfen, dass es sich lohnt, diese in einem Rutsch ändern zu wollen?

Am besten geben Sie mir ein Beispiel mit 2 oder 3 Alt-Links und den neuen Links, die sie ersetzen sollen.
Dann werde ich mal mein Glück versuchen.

Bis dahin ein schönes Wochenende wünscht

Docam

Hallo,
vielen Dank für Ihre Antwort.
die Datei (Ausschnitt) ist zu erreichen:
Leider kann ich die .doc Datei nicht einbinden

www.mgvhelden.de unter Noten

Gruss Jürgen

Hallo Jürgen - hallo Sangesbruder (ich singe selbst in einem gemischten Chor) !!

ich habe die Lösung für Ihr Problem.

Es ist ein kurzes Makro. Wenn Sie sich mit Makros auskennen, werden Sie damit keine Probleme haben. Falls doch, bin gerne bereit, die kpl. Datei vom „x“ zu befreien. Bitte dann die Datei an [email protected] schicken.

Ansonsten viel Freude mit ihre Website, die übrigens ausgezeichnet ist und weiterhin viel Sangesfreude.

Hier das Makro (die Kommentare brauchen nicht mit eingegeben zu werden):

'Zur eigenen Sicherheit: Bitte von der bisherigen docx-Datei eine Sicherungskopie
'anlegen. --------> Für alle Fälle ;o)

'Das Lied Nr. 194 habe ich zum testen wieder auf das docx-Format geändert.

'Ich bin davon ausgegangen, dass alle Hyperlinks am Ende der Adresse das docx
'stehen haben. Das Makro löscht nämlich einfach nur das letzte Zeichen der Adresse-
'also das „x“.

'Wichtig: Die Spalte F mit den Hyperlinks muss lückenlos sein -
'darf also keine Leerzellen enthalten (so wie es in dem Beispiel korrekt ist).

'Das untenstehende Makro einbinden, die korrekte Endzeilennummer eingeben und starten.
'Die Arbeit ist in wenigen Sekunden getan.

Sub Hyperlinks_von_docx_auf_doc_ändern()

Dim name As String

For i = 2 To 25 'anstatt 25 muss hier die Zeilennummer mit dem letzten Hyperlink (z.B. 1300) stehen.

Range(„F“ & i).Select
name = Selection.Hyperlinks(1).Address
länge = Len(name)
neuname = Left$(name, länge - 1)
Selection.Hyperlinks(1).Address = neuname

Next i

End Sub

Hallo Jürgen

Pardon, daß ich erst jetzt antworte. Bitte suche die Zeile 9 im Script und vergleiche sie mit der Vorgabe. Da das script mit „Option …“ beginnt, müßte die fehlerhafte Zeile die mit „HLink …“ sein. Hier scheint ein Kopierfehler vorzuliegen.

Viele Grüße
Franz

Hallo Jürgen

hat’s geklappt?

Gruß Franz

Hallo Jürgen, Du kannst alle Links mit Suchen und Ersetzen ändern, zB. Suchen: docx Ersetzen: doc

Markiere dazu, die Spalte mit den Zellen, wo die Links eingetragen sind oder markiere einfach das ganze Tabellenblatt.

Lieben Gruß
Marion

Falls Du unsicher bist, probier es einfach in einer Testdatei mit 2 oder 3 Links aus.

Hallo Jürgen,

Die Datei ist soll jemand bekommen der absoluter Laie ist und
Windows 97 oder 2003 hat. (Kann er mir nicht sagen).

Da soll er mal auf das Fragezeichen in der Menüzeile klicken und dann auf Info, Dann kann er lesen, welche Escel-Version hat.

Übrigens kannst du auch Deine Dateien in einem Dateiformat für ältere Versionen lesbar abspeichern. Dazu beim Speichern über „Speicher unter“ gehen und dann unten im Menüfenster und der Zeile für den Dateinamen den Dateityp auswählen, z.B. *.xls oder die passenden Versionen direkt auswählen.

Gruß
Marion

Hallo Jürgen

Ich würde mich sehr über eine Rückmeldung freuen.

Gruß Franz

Hallo Jürgen

Ich würde mich sehr über eine Rückmeldung freuen.

Gruß Franz

Hallo Franz,
leider komme ich erst heute dazu Dir für Deine Hilfe zu danken.
Die Umstellung für den Link klappt hervorragend.
Gruss Jürgen