Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1860to1864
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

Öffnen von Datein an aus einer Zelle

Öffnen von Datein an aus einer Zelle
05.01.2022 09:06:28
Datein
Ich hoffe, alle sind gesund und munter in das neue Jahr gekommen!
Hallo, ich bin ganz neu und versuche mich nur an einer Aufgabe und hoffe Ihr könnt mir Tips geben.
Aus den Zelllen einer Spalte möchte ich Hyperlinks erzeugen um auf entsprechende Dateien zu verweisen.
Dies gelingt mir auch schon. Mein Problem ist der Verweis auf die Verzeichnisse in welchen die Dateien enthalten sind.
Die Daten liegen in Spalte 2 der Tabelle.
Der Dateiname/Zeichen in der Zelle hat 7 Stellen.
Aus den ersten 4 Zeichen ist eine eindeutige Zuordnung des Verzeichnisses möglich.
Ich würde gern ein "Grundprogramm" und eine Zuordnung der Verzeichnisse als Variablen haben, welche ich immer ergänzen kann.

Sub HlSpalteB()
Dim aSpalteB() As Variant, Zeile As Long, strPfad As String, strDat As String
'Bildschirmaktualisierung aus
Application.ScreenUpdating = False
'neue Spalte einfügen
Columns(3).Insert
With ActiveSheet
'Datenfeld ist in Spalte B in der Zelle
aSpalteB = .Range(.Cells(1, 2), .Cells(Rows.Count, 2).End(xlUp)).Value
'Schleife über alle Zeilen
For Zeile = 1 To UBound(aSpalteB)
'schreibe Dateiname SpalteB Zeile 1,,, und pdf
strDat = aSpalteB(Zeile, 1) & ".pdf"
'Erstelle den Pfad
strPfad = "I:\!Test\3100000\-1000" & "\"
'Hyperlink einfügen
.Hyperlinks.Add Anchor:=.Cells(Zeile, 3), Address:=strPfad & strDat, _
ScreenTip:=strPfad & strDat, TextToDisplay:=strDat
Next
End With
Application.ScreenUpdating = True
End Sub

So funktioniert das Programm für ein Verzeichnis.
Ich dachte an eine Definition wie in den nächsten Zeilen

strPfad = "=WennLeft(strDat, 4))="3100"Ja"";"I:\!Test\3100000\-1000" & "\"
WennLeft(strDat, 4))="3101"Ja"";"I:\!Test\3100000\-1000" & "\"

Oder wie in dem anghängten Beispiel.
Über eine Hilfe würde ich mich sehr freuen.
Vielen Dank Lars
Userbild

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Öffnen von Datein an aus einer Zelle
05.01.2022 09:42:21
Datein
Hallo,
so:

'Pfad erstellen
Select Case Left(strDat, 4)
Case "3100", "3101"
strPfad = "i:\test\Pfad1\"
Case "3200", "3201", "3203"
strPfad = "i:\test\Pfad2\"
'etc.
End Select
'Hyperlink einfügen
.Hyperlinks.Add Anchor:=.Cells(Zeile, 3), Address:=strPfad & strDat, _
ScreenTip:=strPfad & strDat, TextToDisplay:=strDat
Gruß
Rudi
AW: Öffnen von Datein an aus einer Zelle
05.01.2022 10:21:39
Datein
Hallo Rudi,
vielen Dank für die schnelle Hilfe! Funktioniert super!
Select Case Left(strDat, 4)
Case "3100"
strPfad = "I:\!Test\3100000\-1000" & "\"
Case "3101"
strPfad = "I:\!Test\3100000\-2000\" & "\"
Case "3102"
strPfad = "I:\!Test\3100000\-3000\" & "\"
'etc.

So habe ich es jetzt genutzt. War auch genau meine Frage, aber das Problem mit dem kleinen Finger und dem Arm.
Bei dem Erstellen der Verezichnisse und dem nutzen kommt es zu einem Sprung. In einem Verzeichnis sind die Dateien von 3100001 bis 3101000 enthalten im nächsten von 3102001-3103000 und so weiter. Wie kann ich den "Case formuliern um zu sagen Dateinamen von 3100001 bis 3101000? Die obere Zeile müßte ich auch auf Case Left(strDat, 7) hochsetzen.
Also vielen Dank erst einmal für die Hilfe so weit.
Lars
Anzeige
der Arm ;-)
05.01.2022 10:27:51
Rudi
Die Zahlen musst du dir selbst anpassen

Select Case CLng(Left(strDat, 7))
Case 3100001 to 3101000
strPfad = "I:\!Test\3100000\-1000" & "\"
Case 3102001 to 3103000
strPfad = "I:\!Test\3100000\-2000\" & "\"
Case 3103001 to 3103000
strPfad = "I:\!Test\3100000\-3000\" & "\"
'etc.

AW: der Arm ;-)
05.01.2022 11:05:35
Lars
Hallo, jetzt fängt es an zu haken.
Bin wahrscheinlich zu frisch.
Ich bekomme immer die Meldung "Typen unverträglich".
Bilder angehängt. Wahrscheinlich habe ich irgendwas falsch rüber gebracht.
Ich hoffe auf den Bildern ist genug zu erkennen.
Userbild
Userbild
Anzeige
AW: der Arm ;-)
05.01.2022 11:33:59
Lars
Hallo!
So funktioniert es jetzt!
Vielen Dank Lars!!
Userbild
so habe ich es ...
05.01.2022 12:03:07
Rudi
ja auch geschrieben.

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige