Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1572to1576
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

Makro für Excel-Hyperlink

Makro für Excel-Hyperlink
21.08.2017 23:19:55
Paulo
Makro für Excel-Hyperlink
In einer Excel-Tabelle sind in einer Spalte Bild-Nrn. untereinander aufgelistet, welche mittels Makro einen Hyperlink zum jeweiligen Bild (.jpg-Datei) in einem Unterorder erhalten sollen.
Manueller Ablauf ist folgender:
Bild-Nr. in geöffneter Tabelle anwählen,
Hyperlink bearbeiten anwählen
Durchsuchen: Datei anwählen
Ordner der Bilder öffnen
unter Dateiname *.jpg oder *.* eingeben und mit ok bestätigen
aus den angezeigten Bildern entsprechende Bild-Nr. auswählen,
mit ok bestätigen und weiteres Fenster mit ok beenden.
Leider funktioniert das trotz eingeschaltetem relativem Verweis mit der einfachen Aufzeichnung bei mir nicht. Meine Makro-Kenntnisse reichen dafür nicht aus.
Es müsste doch möglich sein, die jeweils selektierte Bild-Nr. in der geöffneten Tabelle mit der Dateiendung .jpg zu ergänzen und in den Link zu übernehmen, um dann das Bild im Verzeichnis zu finden und somit mittels 1 Makro-Klick das Bild angezeigt zu bekommen. Die Dateiendung .jpg selbst ist mit einem Bildviewer bereits verknüpft - ein Aufruf eines entsprechenden Programms müsste m.E. nicht erfolgen.
Ich hoffe, es kann mir jemand helfen. Danke.
Gruß Paulo

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro für Excel-Hyperlink
22.08.2017 08:58:00
ChrisL
Hallo Paulo
wenn in A1 die Nummer steht, Formel für B1:
=HYPERLINK("C:\Pfad\Unterordner\"&A1&".jpg";A1)
stimmt die Logik so? Ist der Pfad fix?
cu
Chris
AW: Makro für Excel-Hyperlink
22.08.2017 15:45:54
Paulo
Hallo Chris
Logik stimmt und Pfad ist fix. Ich habe die Formel in ein Makro eingegeben und führt fast zum gewünschten Ergebnis.
ActiveCell.FormulaR1C1 = _
"=HYPERLINK(""C:\Users\Paulo\Bilder\""&RC[-1]&"".jpg"",RC[-1])"
Ich muss dabei rechts neben der Bild-Nr. 172467149274 in einer leeren Zelle das Makro ausführen und es zeigt dann den Wert 1,72467E+11 an mit hinterlegtem korrektem kompl. Pfad. Richtiges Bild wird in der rechten Zelle auch angezeigt.
Besser wäre, wenn das Makro in der Bild-Nrn.-Zelle direkt ausgeführt werden könnte und die Formatierung
des Wertes beibehalten wird. Ist dies möglich?
Gruß Paulo
Anzeige
AW: Makro für Excel-Hyperlink
22.08.2017 21:13:44
Paulo
Hallo Chris,
ich habe das Makro bezüglich der Formatierung noch ergänzt: Selection.NumberFormat = "0"
Mit dieser Lösung komme ich auch zurecht, zumal ich links noch eine freie Zelle für die Formel zur Verfügung habe.
Gruß Paulo
AW: Makro für Excel-Hyperlink
23.08.2017 05:08:55
fcs
Hallo Paulo,
für die Formelvariante hast du ja schon eine Lösung gefunden.
Kann man auch anders lösen, indem man für den anzuzeigenden Text in der Formel "" & vor der Nummer einfügt.
Hier zusätzlich nooh zwei Makros zum Einfügen (EInzeln oder ganze Spalte) von Hyperlinks in der Spalte mit den Bild-Nummern.
Gruß
Franz
Sub Hyperlinks_Spalte_A_Formel()
Dim Zeile_1 As Long, Zeile_L As Long
Dim SpaNr As Long, SpaFormel As Long
Dim strPfad As String
If MsgBox("Formeln für Hyperlinks in Spalte ""A"" einfügen?", _
vbQuestion + vbOKCancel, "Hyperlink-Formeln einfügen") = vbCancel Then Exit Sub
'Verzeichnis mit den Bild-Dateien - Backslash "\" am Ende nicht vergessen!
strPfad = "C:\Users\Paulo\Bilder\"
'Spalte mit den Nummern der Bild-Dateinamen
SpaNr = 2 'Spalte B
'Spalte mit den Hyperlink-Formeln
SpaFormel = 1 'Spalte A
'1. Zeile in die Hyperlink-Formeleingefügt werden soll
Zeile_1 = 2
With ActiveSheet
'letzte Zeile mit Inhalt in der Spalte mit den Nummern
Zeile_L = .Cells(.Rows.Count, SpaNr).End(xlUp).Row
With .Range(.Cells(Zeile_1, SpaFormel), .Cells(Zeile_L, SpaFormel))
.FormulaR1C1 = "=HYPERLINK(""" & strPfad & """&RC[" & (SpaNr - SpaFormel) _
& "]&"".jpg"","""" & RC[" & (SpaNr - SpaFormel) & "])"
End With
End With
End Sub
Sub Hyperlinks_Spalte_B_Einfuegen()
'Hyperlinks für alle Nummern in der Spalte erzeugen
Dim Zeile_1 As Long, Zeile_L As Long
Dim SpaNr As Long, Zeile As Long
Dim strPfad As String
If MsgBox("Hyperlinks zu Bild-Nummern in Spalte ""B"" einfügen?", _
vbQuestion + vbOKCancel, "Hyperlinks einfügen") = vbCancel Then Exit Sub
'Spalte mit den Nummern der Bild-Dateinamen
SpaNr = 2 'Spalte B
'1. Zeile in die Hyperlinka eingefügt werden sollen
Zeile_1 = 2
'Verzeichnis mit den Bild-Dateien - Backslash "\" am Ende nicht vergessen!
strPfad = "C:\Users\Paulo\Bilder\"
With ActiveSheet
'letzte Zeile mit Inhalt in der Spalte mit den Nummern
Zeile_L = .Cells(.Rows.Count, SpaNr).End(xlUp).Row
For Zeile = Zeile_1 To Zeile_L
With .Cells(Zeile, SpaNr)
If .Text  "" Then
.Parent.Hyperlinks.Add Anchor:=.Range("A1"), _
Address:=strPfad & .Text & ".jpg", _
ScreenTip:="Bild: " & strPfad & .Text & ".jpg", _
TextToDisplay:=.Text
End If
End With
Next
End With
End Sub
Sub Hyperlink_Spalte_B_Einzeln()
'Hyperlink für aktive Zelle erzeugen
Dim strPfad As String
'Verzeichnis mit den Bild-Dateien - Backslash "\" am Ende nicht vergessen!
strPfad = "C:\Users\Paulo\Bilder\"
With ActiveCell
Select Case .Column
Case 2 'Spalte B - Spalte mit Bild-Nummern
If .Text  "" Then
.Parent.Hyperlinks.Add Anchor:=.Range("A1"), _
Address:=strPfad & .Text & ".jpg", _
ScreenTip:="Bild: " & strPfad & .Text & ".jpg", _
TextToDisplay:=.Text
End If
Case Else
MsgBox "Hyperlinks dürfen nur in Spalte B eingefügt werden!", _
vbInformation + vbOKOnly, _
"Makro - Hyperlink_Spalte_B_Einzeln"
End Select
End With
End Sub

Anzeige
AW: Makro für Excel-Hyperlink
23.08.2017 20:59:55
Paulo
Hallo Franz,
danke für Deine Mühe, das Spaltenmakro ist für große Bereiche mit Anpassungen sicher sehr nützlich. Für meine Zwecke reicht aber das Einzelmakro vollkommen, da immer wieder nur einige Bilder hinzukommen. Eine Verbesserung wäre lediglich, wenn das gleiche für die jeweils markierten Zellen, also als Schleife ablaufen würde. Nicht unbedingt für mich erforderlich, aber wenn es Dir Spaß macht, freue ich mich auch, da ich es selbst nicht hinbekomme. Ich selbst habe das Makro nur soweit ergänzt, dass es auch mit der wissenschaftlichen Notation funktioniert und am Ende in die nächste Zelle geht.
Gruß Paulo
Anzeige
AW: Makro für Excel-Hyperlink
24.08.2017 00:08:19
fcs
Hallo Paulo,
hier die Variante um im selektierten Zellbereich Hyperlinks einzufügen.
Hinweis: Die Nummern der dürfen max. 15 Ziffern haben. Bei mehr Ziffern funktioniert die Umwandlung
der wissenschaftlichen Notation in eine Ganze Zahl nicht mehr, da die Rechengenauigkeit von Excel 15 signifikante Ziffern hat.
Gruß
Franz
Sub Hyperlink_Spalte_B_Selektion()
'Hyperlink für Zelle im selektierten Zellbereich erzeugen
Dim strPfad As String
Dim rngZelle As Range
'Verzeichnis mit den Bild-Dateien - Backslash "\" am Ende nicht vergessen!
strPfad = "C:\Users\Paulo\Bilder\"
strPfad = "C:\Users\Admin\Pictures\"
For Each rngZelle In Selection.Cells
With rngZelle
Select Case .Column
Case 2 'Spalte B - Spalte mit Bild-Nummern
If .Text  "" Then
.Parent.Hyperlinks.Add Anchor:=.Range("A1"), _
Address:=strPfad & Format(.Value, "0") & ".jpg", _
ScreenTip:="Bild: " & strPfad & .Text & ".jpg", _
TextToDisplay:=Format(.Value, "0")
End If
Case Else
MsgBox "Hyperlinks dürfen nur in Spalte B eingefügt werden!", _
vbInformation + vbOKOnly, _
"Makro - Hyperlink_Spalte_B_Selektion"
Exit For
End Select
End With
Next rngZelle
End Sub

Anzeige
AW: Makro für Excel-Hyperlink
24.08.2017 14:37:19
Paulo
Hallo Franz,
perfekt, besser geht's nicht. Erspart mir künftig viele Einzel-Klicks. Danke vielmals!
Gruß Paulo

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige