Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1540to1544
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

Hyperlink

Hyperlink
19.02.2017 17:24:59
Markus
Hallo liebe Leute,
mit folgendem Code möchte ich, dass nach einer Auswahl einem bestimmtem Produkt die Datei per Hyperlink geöffnet wird.
Die Adress-Zeile "ActiveWorkbook.FollowHyperlink" bezieht sich nur auf meinem Rechner.
Wie muss ich diesen Befehl umschreiben, damit diese Zeile auf jedem Arbeitsplatz funktioniert?
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address(False, False)
Case "K5", "U5", "L4"
ActiveWorkbook.FollowHyperlink Address:="C:\Users\m.brunner\Desktop\Cleaning Planner 1.0\ _
Reinigungsplan\Produkte\" & Target.Value & ".xlsm"
End Select
End Sub
Vielen Dank!
VG Markus

32
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hyperlink
19.02.2017 17:28:28
onur
hi,
Wo liegt die Datei denn bei den Anderen?
AW: Hyperlink
19.02.2017 17:36:59
Markus
Hallo,
die anderen Dateien liegen entwerder auf C:/Desktop/ oder auf einem Stick.
Es sind also unterschiedliche User, die das bedienen.
AW: Hyperlink
19.02.2017 17:45:57
onur
Hi,
Tja, dann musst du dir was einfallen lassen, damit alle am gleichen ort speichern.
AW: Hyperlink
19.02.2017 17:55:57
Markus
Hallo,
ich glaube, ich habe mich falsch ausgedrückt.
Die Dateien, die aufgerufen werden sollen, liegen grundsätzlich immer auf dem gleichem Laufwerk,
Das Problem ist, dass der Code sich nur C und einem bestimmten User bezieht. Da andere Personen dieses Tool auf einem seperaten Rechner verwenden, kommt nach Aufruf eine Fehlermeldung.
Anzeige
AW: Hyperlink
19.02.2017 17:59:43
onur
Du könntest einfach statt m.brunner den usernamen auslesen lassen und das einsetzen.
Aber was ist mit den sticks?
AW: Hyperlink
19.02.2017 18:04:25
Markus
Wie funtioniert das mit dem Auslesen? Müssen hier Zeichen gesetzt werden?
Dies ginge doch dann auch mit dem Laufwerk?
AW: Hyperlink
19.02.2017 18:19:19
littletramp
Hallo Markus
Suchst du das?
MsgBox Environ("HOMEDRIVE") & Environ("HOMEPATH") & "\Desktop"    ' hier Pfad ergänzen!
Gruss Markus
AW: Hyperlink
19.02.2017 18:25:44
Markus
Hallo Markus,
das ist es nicht. Es soll nur nach einer bestimmten Auswahl per Drop Down die Datei geöffnet werden.
VG Markus
AW: Hyperlink
19.02.2017 18:34:42
littletramp
Hallo Markus
Das war ein Beispielcode der dir in einer MsgBox den Pfad zum Desktop des angemeldeten Benutzers anzeigt.
Bei mir: C:\Users\Markus Schmid\Desktop
Bei dir: C:\Users\m.brunner\Desktop
Den Code musst du schon selbst in den Hyperlink integrieren.
Gruss Markus
Anzeige
AW: Hyperlink
19.02.2017 18:45:56
Markus
Hallo Markus,
der Code(siehe unten) funktioniert, nur eben auf meinem Username. Auf andere Rechner soll das Tool aber auch laufen. Da kommt aber die Fehlermeldung....
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address(False, False)
Case "K5", "U5", "L4"
ActiveWorkbook.FollowHyperlink Address:="C:\Users\m.brunner\Desktop\Cleaning Planner 1. _
0\Reinigungsplan\Produkte\" & Target.Value & ".xlsm"
End Select
End Sub
VG Markus
AW: Hyperlink
19.02.2017 18:54:40
littletramp
Soll das heissen, von den anderen Rechnern aus muss auf die Datei die auf deinem Rechner liegt zugegriffen werden?
Anzeige
AW: Hyperlink
19.02.2017 18:08:19
onur
nam=Application.UserName
AW: Hyperlink
19.02.2017 18:10:49
Markus
ActiveWorkbook.FollowHyperlink Address:"nam=Application.UserName\Desktop\Cleaning Planner 1.0\Reinigungsplan\Produkte\" & Target.Value & ".xlsm"
Ist der Code so richtig?
AW: Hyperlink
19.02.2017 18:14:13
onur
So auf keinen fall.
Eher so:
Address:="C:\Users\"+ApplicationUserName+"\Desktop\Cleaning Planner 1.0\
AW: Hyperlink
19.02.2017 18:18:26
Markus

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address(False, False)
Case "K5", "U5", "L4"
Address:="C:\Users\"+ApplicationUserName+"\Desktop\Cleaning Planner 1.0\Reinigungsplan\ _
Produkte\" & Target.Value & ".xlsm"
End Select
End Sub
Hier kam ne Fehlermeldung....
Anzeige
AW: Hyperlink
19.02.2017 18:25:21
onur
Was für eine?
Der punkt fehlt (meine nächste nachricht).
Schreib mal direkt hinter private sub....
dim a as string
a=application.username
stop
und schau im Lokalfenster auf den wert von a.
AW: Hyperlink
19.02.2017 18:15:24
onur
Sorry, Punkt vergessen:
Application.UserName
AW: Hyperlink
19.02.2017 18:50:35
littletramp
Hallo Markus
Application.UserName ist nicht der Windows Benutzername, sondern der Name, den der Benutzer bei der Installation angegeben hat. Er kann durch den Benutzer in den Excel-Optionen jederzeit geändert werden!
Mache es so, wie ich es vorgeschlagen habe (hier im Code eingefügt :-)
ActiveWorkbook.FollowHyperlink Address:=Environ("HOMEDRIVE") & Environ("HOMEPATH") _
& "\Desktop\Cleaning Planner 1.0\Reinigungsplan\Produkte\" & Target.Value & ".xlsm"
Gruss Markus
Anzeige
AW: Hyperlink
19.02.2017 18:55:22
Markus

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address(False, False)
Case "K5", "U5", "L4"
ActiveWorkbook.FollowHyperlink Address:=Environ("HOMEDRIVE") & Environ("HOMEPATH") _
& "\Desktop\Cleaning Planner 1.0\Reinigungsplan\Produkte\" & Target.Value & ".xlsm"
End Select
End Sub
Code wurde als Fehler angezeigt. Ist dieser so richtig ringrfügt worden?
VG Markus
AW: Hyperlink
19.02.2017 19:03:29
littletramp
Ja. Bei mir geht es.
Ist dein Pfad korrekt, resp. hat die Exceldatei die Extension .xlsm und nicht .xlsx ?
AW: Hyperlink
19.02.2017 19:11:50
Markus
Die Dateiendung ist xlsm, die Dateien liegen in einem anderem Ordner auf C.
Auf dem Rechner, wo dieser Code erstellt wurde, funktioniert es. Auf einem anderem Rechner nicht, da ein anderer User.
Dieses Tool würde sozusagen nur auf dem anderem Rechner mit dem Code laufen.
Anzeige
AW: Hyperlink
19.02.2017 19:14:10
Markus
Das Problem ist also der User in der Zeile unten.
Wie kann ich das umgehen?
ActiveWorkbook.FollowHyperlink Address:="C:\Users\username\Cleaning Planner 1.0\Reinigungsplan\Produkte\" & Target.Value & ".xlsm"
AW: Hyperlink
19.02.2017 19:24:45
onur
Hi Markus
Hast du das probiert:
Address:="C:\Users\"+Application.UserName+"\Desktop\Cleaning Planner 1.0\Reinigungsplan\ _
Produkte\" & Target.Value & ".xlsm"
Application.Username kann man zwar auf senem Rechner zu Hause ändern, aber nicht wenn man in seiner Firma am Netzwerk arbeitet.
AW: Hyperlink
19.02.2017 19:30:34
littletramp
Hallo onur
Das trifft nicht unbedingt zu. das hängt davon ab, was der Systemadministrator zulässt.
Windows verwendet auf jeden Fall nicht den Application.UserName um seine Verzeichnisstruktur einzurichten.
Gruss Markus
Anzeige
AW: Hyperlink
19.02.2017 19:34:24
onur
Hi Markus,
Alles klar, wieder was gelernt.
Bei uns im Netzwerk ist es halt so, dass man sich mit usernamen anmeldet, und darauf bezieht sich auch excel.
Gruß
Onur
AW: Hyperlink
19.02.2017 19:31:30
Markus
Hallo, vielen Dank für Deine weitere Unterstützung.
Mit diesem Code habe ich einen Syntaxfehler.
Erste Zeile ist gelb markiert, der neue Code"ActiveWorkbook" rot:
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address(False, False)
Case "K5", "U5", "L4"
ActiveWorkbook.FollowHyperlink Address:="C:\Users\+Application.UserName+"\Desktop\ _
Cleaning Planner 1.0\Reinigungsplan\ _
Produkte\" & Target.Value & .xlsm"
End Select
End Sub
Das bringt mich schön langsam ins Grab....
Anzeige
AW: Hyperlink
19.02.2017 19:36:09
onur
Sorry, Gänsefüsschen vergessen:
"C:\Users\"+Application.UserName+"\Desktop\ _
Cleaning Planner 1.0\Reinigungsplan\ _
AW: @onur
19.02.2017 19:42:44
littletramp
Hallo onur
Verwende als Zeichenkettenverknüpfungszeichen nicht Pluszeichen + sondern Ampersand &
Führe folgenden Befehl aus, dann siehst du warum:
MsgBox "1" + 1 & vblf & "1" & 1
Gruss Markus
AW: @onur
19.02.2017 19:52:09
onur
Hi,
Das "+"-Zeichen benutze ich nur, wenn ich genau weiss, dass es reine Stringvariablen sind.
An das "&"-Zeichen kann ich mich nicht gewöhnen (ich hasse es), aber manchmal muss ich es bei EXCEL-Formeln verwenden.
Gruß
Onur
Anzeige
AW: Hyperlink
19.02.2017 19:35:36
littletramp
Hallo Markus
Besser ist die Datei auf dem Server abzulegen. Die Frage ist, müssen die Benutzer diese Datei auch bearbeiten können?
Wenn nicht, also nur nachsehen, so kannst du sie schreibgeschützt öffnen.
Ich würde das Öffnen auch nicht mit Hyperlink machen, sondern mit Workbooks.Open.
Zusätzlich würde ich zuerst prüfen ob die Datei existiert, und ob der Benutzer diese schon offen hat.
Hier der ganze Code:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim strZielDatei As String
Dim wbk As Workbook
Select Case Target.Address(False, False)
Case "K5", "U5", "L4"
' Zieldatei festlegen
' (hier sollte ein Verzeichnis auf dem Server verwendet werden!)
strZielDatei = Environ("HOMEDRIVE") & Environ("HOMEPATH") _
& "\Desktop\Cleaning Planner 1.0\Reinigungsplan\Produkte\" _
& Target.Value & ".xlsm"
' Prüfen ob Datei existiert
If Dir(strZielDatei) = "" Then
MsgBox "Die Datei existiert nicht!", vbExclamation
Else
' Prüfen dieser Benutzer die Datei schon geöffnet hat
On Error Resume Next
Set wbk = Workbooks(Target.Value & ".xlsm")
If Err.Number = 0 Then
MsgBox "Sie haben diese Datei schon geöffnet!", vbInformation
Else
On Error GoTo 0
' Datei schreibgeschützt öffnen
Application.Workbooks.Open Filename:=strZielDatei, ReadOnly:=True
End If
End If
End Select
Set wbk = Nothing
End Sub
Gruss Markus
AW: Hyperlink
19.02.2017 19:43:31
Markus
Danke, Danke, Danke!!!!!!
Markus, Du bist ne Weltmacht!!! Der Code funktioniert! :-)
Trotzdem auch vielen Dank an Onur für Deine Unterstützung.
Ihr seid beide super Profis!!!
LG Markus
Gern geschehen
19.02.2017 19:49:08
littletramp
*

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige