Laufwerkbuchstabe in Hyperlink

Hallo,
habe einem makro den Laufwerkbuchstaben auslesen lassen und ihn als LW definiert.

In über Makro erzeugte Hyperlinks soll nun dieser Laufwerkbuchstabe erscheinen.

Habe die Erzeugung deas Links so gestaltet:

„=HYPERLINK( LW &“"" & Mid(strName, 2)

Leider fügt das Makro nicht den Laufwerkbuchstaben ein, sonder es steht LW am Anfang.

Was muss ich ändern?

LG und Danke im Voraus,
Tommy.

Moin,

Literal und Variable müssen getrennt werden:

„=HYPERLINK(“ & LW & [Rest der Zeichenkette]

Gruß Ralf

Hallo Ralf,
meinst du so?
„=HYPERLINK(“ & LW & ["" & Mid(strName, 2) …"")"]
Da kommt Laufzeitfehler 13 "Typen unverträglich.
Wo liegt mein Fehler?

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

Hi,

der Fehler sagt grob, dass Buchstaben und Zahlen verkettet werden sollen. Die Syntax für den Hyperlink lautet

Hyperlink (Zeichenkette)

Setz den String testhalber erstmal zusammen, also

=LW & ebbes & noebbes & undnomalebbes

schau Dir das an und bau erst dann den Hyperlink zusammen

Gruß Ralf

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.

Vielen Dank und LG,
Tommy.

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“ )
:wink:
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

LG, Tommy