Vor kurzem habe ich ein Dokument erstellt, wobei links berechnet und in das Dokument eingefügt werden.
Ich benutze einen Aufruf, der ein select macht, weil ich mit diesem Aufruf nie Probleme hatte (auf das select würde ich aber auch gerne verzichten)
Cells(y, 28).Select
Cells(y, 28) = "Bild 1"
ActiveSheet.Hyperlinks.Add anchor:=Selection, Address:=vollerpfad$
So lief das Programm, einige Zeit fehlerfrei.
Als erstes trat das Problem auf, dass das Programm, mitten drin, mit einem Application-defined oder Object defined error abstürzte. Ich habe darauf sowohl den Zustand der fehlerauslösenden Zelle, als auch die Pfadübergabe überprüft - scheinbar alles OK.
Nun nahm ich an, dass die Ursache ist, dass auf der Fehlerzelle vielleicht bereits ein unsichtbater link liegt. Ich lösche nämlich zuvor eigentlich nur den Text aller Zellen, mittels clearcontents, aber nicht die links. Aber auch das existieren eines unsichbaren links, der die Neuaufnahme eines Neuen verhindert, bestätigte sich nicht.
Ich versuchte deshalb, die links auf andere Weise hinzuzufügen
with sheets("xyz")
for y=1 to 100
.Hyperlinks.Add .Cells(y, 28), vollerpfad$
next y
end with
Obwohl ich das so in einer Hilfe gelesen habe, kommt hier die Fehlermeldung schon ab der ersten Zelle
Nun stellte ich fest, dass das Dokument evtl. gänzlich beschädigt ist, denn ich kann auch manuell keine links mehr adden.
Rechts click > Hyperlink > beliebige Addresse eingeben > OK
Nur der Text steht jetzt in der Zelle, aber kein link!
Das verhalten ist bei allen Zellen des Dokuments scheinbar gleich
Es sei dazu gesagt, dass Dokument ist sehr groß, rund 20MB
Fragen:
Wie löscht man alle links eines Bereichs? Reicht es .range(A1:Z20).ClearContents ? Wie es mit einer Schleife gehen würde, weiß ich bereits, die frage gilt einem Befehl der keine Schleife braucht.
Was ist der korrekte aufruf, um einen link einzufügen, (möglichst ohne select)?
Wie und warum ist mein Dokument jetzt kaputt und nimmt gar keine links mehr an? Hinweis, es wurde in das Zielworksheet zwischenzeitlich Zellen eines anderen Excel Dokument eingefügt und ich weiß nicht, auf welche spezielle Art.
Besten Dank!