Hi,
was sagt denn das Überwachungsfenster von vba zum Wert der Variablen „LW“?
Ansonsten wäre es von Vorteil, einmal den gesamten Code hier zu posten.
Freundliche Grüße
Thomas
Hallo Ralf und Thomas,
die ganze „Aufregung“, die ich verbreitet habe, war umsonst, denke ich.
Wenn ich den Link mit dem erkannten Laufwerkbuchstaben erzeuge, gilt das nur für gleichbleibende.
Habe nun eine „blinde“ Zelle in meine Legende eingefügt, welche beim Start der Datei das Laufwerk ermittelt.
Dim Paht As String
Dim LW As String
path = ThisWorkbook.path
LW = Left(path, 1)
Range(„aa20“) = LW
In meinem Link greife ich nun darauf zurück:
=HYPERLINK(Legende!$aa$21&""" & Mid(strName, 2)
Somit ist es egal, welche Bezeichnung der externe Datenträger hat.
Bin der Meinung, dass ich diesen „Umweg“ gehen musste, weil ich keinen relativen Link per VBA erzeugen kann.
kein Problem
Hallo Tommy,
schön, wenn Du Dein Problem gelöst hast.
Dein Code ist mir aber nicht ganz klar. Wozu dimensionierst Du eine Variable „Paht“, wenn Du sie nicht benutzt?
Dagegen hilft zwar „Option explicit“ nicht, wohl aber gegen die darauf folgende Verwendung einer undimensionierten Variablen ( z. B. „path“ )
Freundliche Grüße
Thomas
Hallo Thomas,
mit meinem Makro werden Links von jpg Dateien bestimmten Namen zugeordnet.
Die Datei ist sehr umfangreich und besteht aus vielen tabellenblättern, im Moment 1981 bis 1936.
Da, wie ich oben schrieb, der Laufwerksbuchstabe des USB Sticks oft unterschiedlich ist, dachte ich, man kann einen variablen Link erzeugen, geht aber mit VBA nicht.
Deshalb der Umweg über die zusätzliche Zelle.
Hier im Forum habe ich tolle Hilfe bekommen und ich habe ein Makro zum Anzeigen bekommen.
Hier ist das Makro zum Erzeugen der Links:
Sub Link_erzeugen()
Dim objFolder As Object, strName As String
Set objFolder = CreateObject(„shell.application“).BrowseForFolder(0, „Bitte gib den Pfad an, in dem sich die Bilddateien befinden.“, 1)
If Not objFolder Is Nothing Then
With ActiveSheet
strName = objFolder.Self.path & „“ & objFolder.Self.Name & „_“
.Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)).Offset(, 5).Formula = _
„=HYPERLINK(Legende!$aa$21&“"" & Mid(strName, 2) & „“"&TEXT(ROW()-1,"„000"“)&"".jpg"",""" & objFolder.Self.Name & „_“"&TEXT(ROW()-1,"„000"“))"
.Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)).Offset(, 5).HorizontalAlignment = xlCenter
End With
End If
Range(„A1“).Select
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Range(„A1“).Activate
Sheets(„Legende“).Select
Range(„B15“).Select
End Sub