Anzeige
Archiv - Navigation
1324to1328
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

Bilder neben gebasteltem Hyperlink anzeigen.

Bilder neben gebasteltem Hyperlink anzeigen.
25.07.2013 22:01:34
Uwe
Hallo an alle,
ich hoffe, ihr könnt mir weiterhelfen. Auch ich, wie wahrscheinklich 99% der Menschen auf dieser Erde, habe so gut wie keine Ahnung von VBA. Daher bastele ich mir gerade sehr mühsam eine Vorlage für eine Fotodokumentationserstellung inkl. EXIF-Auslesung aus diversen VBA-Codes aus dem Internet zusammen.
Das Thema EXIF-Auslesung habe ich jetzt schon mittels eines Codes im Tabellenblatt 2 hinbekommen. U. a. wird hier auch der Dateipfad mit ausgeworfen.
Mittels eines weiteren Codes möchte ich nun im Tabellenblatt 1 den Dateipfad in einen Hyperlink umwandeln z.B. so "=Hyperlink(B3)". Dies funktionioniert auch, nur der unten aufgeführte VBA-Code, den ich auch im Internt entdeckt habe, funktioniert nicht, wenn ich die Hyperlinks wie oben dargestellt erstelle. Ich habe auch schon über die Verketten-Funktion den Link wie z.B. file:///xyz/xy/x.jpg versucht darzustellen - aber auch dann funktioniert das mit dem unten aufgeführten Code nicht....
Da ich nun schon Stunden damit verbracht habe, hierfür eine Lösung im Internet aufzutreiben, wende ich mich nun an euch.
Ich hoffe, ihr könnt mein Problem nachvollziehen und bedanke mich schon jetzt für evtl. Antworten.
Hier noch der Code für die Bilder, die rechts neben dem Hyperlink eingefügt werden:
Sub HyperlinksExtract() Dim h As Hyperlink Dim oPic As Object Dim rngZelle As Range For Each h In ActiveSheet.Hyperlinks Set rngZelle = Cells(h.Range.Row, h.Range.Column + 1) Set oPic = ActiveSheet.Pictures.Insert(h.Address) oPic.Top = rngZelle.Top oPic.Left = rngZelle.Left oPic.Height = rngZelle.Height oPic.Width = rngZelle.Width oPic.Placement = xlMoveAndSize Next h End Sub

Vielen Dank und einen schönen Abend
Uwe

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

Betreff
Datum
Anwender
Anzeige
AW: Bilder neben gebasteltem Hyperlink anzeigen.
26.07.2013 20:31:29
Uwe
Hallo nochmals,
kann mir jemand bei meinem Problem behilflich sein bzw. war mein Problem verständlich beschrieben?
Ich versuche es nochmals in Kurzform:
Der von mir abgebildete Code öffnet einen Hyperlink, der sich auf ein Bild bezieht und fügt das Bild rechts in der Spalte neben dem Hyperlink ein.
Dies funktioniert allerdings nicht, wenn ich aus einer Adresse (z.B. D:\Klaus\Pictures\2012-04-12\CIMG4318.JPG) per Formel "=Hyperlink()" oder über "file:///..." einen Hyperlink erstelle.
Kann mir hier jemand helfen?
Ich würde mich über Antworten wirklich freuen.
Schöne Grüße
Uwe

Anzeige
AW: Bilder neben gebasteltem Hyperlink anzeigen.
26.07.2013 22:50:58
Uwe
Und noch mal hallo,
jetzt habe ich noch vergessen, das Häkchen bei "Aktiviere das Kontrollkästchen, ...noch offene Frage" zu setzen.
Noch einen schönen Restabend.
Uwe

AW: Bilder neben gebasteltem Hyperlink anzeigen.
27.07.2013 10:04:50
fcs
Hallo Uwe,
das folgende Makro erzeugt im Tabellenblatt für eine Liste von Dateinamen Hyperlinks.
Blattnamen, Spaltennummern und Startzeile(n) muss du ggf. noch anpassen. Ebenso die Texte, die in die Zellen eingetragen und als Hyperlin-Screentip angezeigt werden sollen.
Danach funktioniert dann dein vorhandenes Makro, um die zugehörigen Grafikdateien in die rechten Nachbarzellen der Hyperlinks einzufügen.
Gruß
Franz
Sub MakeHyperlinks()
'Hyperlinks für die Liste der Dateien im Blatt Tabelle2 in Tabelle1 erstellen
Dim wksListe As Worksheet, wksZiel As Worksheet
Dim ZeileHyplink As Long, ZeilePfad As Long
Dim SpaltePfad As Long, SpalteHypLink As Long, strDateiName As String
Set wksListe = ActiveWorkbook.Worksheets("Tabelle2")
Set wksZiel = ActiveWorkbook.Worksheets("Tabelle1")
With wksZiel
SpalteHypLink = 1 'Spalte A = Spalte für die Hyperlinks
'Letzte Zeile in Hyperlinkspalte mit Dateneintrag
ZeileHyplink = .Cells(.Rows.Count, SpalteHypLink).End(xlUp).Row
If ZeileHyplink = 1 And IsEmpty(.Cells(1, SpalteHypLink)) Then ZeileHyplink = 0
End With
With wksListe
SpaltePfad = 3 'Spalte C = Spalte mit Dateiname+Pfad
Application.ScreenUpdating = False
For ZeilePfad = 2 To .Cells(.Rows.Count, SpaltePfad).End(xlUp).Row 'startzeile ggf.  _
anpassen
strDateiName = .Cells(ZeilePfad, SpaltePfad)
If Dir(strDateiName)  "" Then
With wksZiel
ZeileHyplink = ZeileHyplink + 1
'Dateiname ohne Verzeichnis in Zelle mit Link eintragen - der Text in der Zelle _
mit dem Hyperlink kann beliebig festgelegt werden
.Cells(ZeileHyplink, SpalteHypLink).Value _
= Mid(strDateiName, InStrRev(strDateiName, "\") + 1)
'Hyperlink für Datei anlegen - der Text für den Screnntip kann beliebig festgelegt  _
werden
.Hyperlinks.Add anchor:=.Cells(ZeileHyplink, SpalteHypLink), _
Address:=strDateiName, _
ScreenTip:="Datei: " & strDateiName & vbLf _
& "Klick auf Dateiname zeigt Bild in Viewer an"
End With 'wksZiel
End If
Next ZeilePfad
End With 'wksListe
Application.ScreenUpdating = True
MsgBox "Fertig", vbInformation, "Hyperlinks erstellen"
End Sub

Anzeige
AW: Bilder neben gebasteltem Hyperlink anzeigen.
27.07.2013 16:17:44
Uwe
Hallo Franz,
vielen Dank für deine Bemühungen. Echt klasse, welche Arbeit du dir gemacht hast.
Ich stelle mich aber scheinbar noch etwas dämlich an.
Ich habe deinen Code zum testen in eine neue Excel-Datei kopiert und habe die Tabellenblätter nicht umbenannt. Dann habe ich einen Dateipfad zum testen (D:\Uwe\Pictures\2012-06-10\CIMG4305.jpg) in die Zelle C2 in das Tabellenblatt 2 kopiert und den Code ausgeführt. Jetzt erhalte ich folgende Fehlermeldung "Laufzeitfehler 9 Index außerhalb des gültigen Bereichs".
Muss ich am Code noch etwas ändern? Ich hab schon einiges getestet und bekomme immer wieder die gleiche Fehlermeldung...
Wäre nett, wenn Du mir nochmals helfen könntest.
Vielen Dank schon mal und schöne Grüße
Uwe

Anzeige
AW: Bilder neben gebasteltem Hyperlink anzeigen.
27.07.2013 20:24:28
fcs
Hallo Uwe,
Für eine konkrete Hilfestellung solltest du noch angeben in welcher Zeile des Makros der Fehler aufgetreten ist.
Wenn die Namen der Tabellenblätter = "Tabelle1" und "Tabelle2" sind und die Dateinamen in Spalte C ab Zeile 2 abwärts stehen, dann sollte das Makro funktionieren. Achte aber darauf, dass die Tabellennamen auf dem Registerreiter und im Code gleich geschrieben sind!!!! Groß-Kleinschreibung spielt keine Rolle, aber da rutscht schon gerne mal ein Leerzeichen durch.
Bei mir sieht Tabelle2 so aus:
Tabelle2

 ABC
1Feld01Feld02Pfad+Dateiname
2  C:\Users\Public\Test\Bilder\01_004 Haus am See.jpg
3  C:\Users\Public\Test\Bilder\02_002 Der Nachbar und sein Hund.jpg
4  C:\Users\Public\Test\Bilder\10_005 Alle Kinder zuhause.jpg
5  C:\Users\Public\Test\Bilder\Bild01.jpg


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
und das Ergbnis in Tabelle1 dann etwa so:
Tabelle1

 AB
1DateinameBild
201_004 Haus am See.jpg 
302_002 Der Nachbar und sein Hund.jpg 
410_005 Alle Kinder zuhause.jpg 
5Bild01.jpg 


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß
Franz

Anzeige
AW: Bilder neben gebasteltem Hyperlink anzeigen.
27.07.2013 21:14:05
Uwe
Hallo Franz,
vielen, vielen Dank. Du hattest recht, es war das Leerzeichen... keine Ahnung warum in der neuen Exceldatei das Tabellenblatt 2 anders geschrieben wurde wie das Tabellenblatt 1... muss ich wohl irgendwie selbst gemacht haben - wirklich ein dämlicher Fehler (hab heute geschätzte 3 Std. nach dem Fehler gesucht. Ich habe mir jetzt vorgenommen, mich intensiver mit dem VBA-Thema zu beschäftigen.
Vielen Dank nochmals und schöne Grüße nach Alzenau aus dem nicht so weit entfernten Odenwald.
Uwe

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige