VBA Excel2010 Hyperlink per VBA erstellen

Hallo zusammen,

ich würde gerne per VBA einen Hyperlink erstellen.
Ich habe ein Worksheet mit einer Produktliste, per Knopfdruck kann ich ein neues Worksheet mit dem Namen eines neuen Produktes erstellen, welches auch sofort in meiner Produktliste erscheint.

Was mir jetzt noch fehlt: ich möchte die Produkte in der Produktliste anklicken können und dann automatisch auf das Produktdatenblatt kommen.
Wie kriege ich das hin? Denn in meinem Code ist der Produktname ja variabel, da ich ihn per Hand über eine Userform zuerst eingebe…

Danke schon mal für eure Mühe und Hilfe!!

Gruß,
Sonja

Hallo Sonja,

auch bei diesem Problem kann ich leider nicht helfen.

Gruß Hugo

Hallo Sonja,
Deiner Beschreibung entnehme ich, dass Du VBA-Erfahrung hast. Wie ich verstanden habe verstehen sich Deine Hyperlinks innerhalb einer Excel-Datei.
Auch hier würde ich vorschlagen, den Hyperlink einmal per Hand zu erstellen, und dabei den Makrorekorder mitlaufen zu lassen.
Die Adresse des Hyperlinks ist letztlich ein String. Und einen String kannst Du aus mehrern Strings zusammensetzen.
Zum Beispiel wäre der Name des letzten Blattes, das Du eingefügt hast (*.Name) der direkte Zeiger auf das gewünschte Blatt.
MfG MwieMichel

Hallo Michel,

meine VBA-Erfahrung ist sehr begrenzt.
Ich habe leider entweder nicht ganz verstanden was du mir empfohlen hast, oder ich habe es nicht richtig gemacht.

Mein Problem ist, wenn ich ein Macro aufnehme, kommt bei mir folgendes raus:

Range(„A5“).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
„‚Produktname Volumen Material‘!A1“, TextToDisplay:=„Produktname“

Dabei sind Produktname, Volumen und Material Variablen, die ich über TextBoxen eingebe wenn ich das Produkt neu in die Liste hinzufüge und deswegen nicht weiss, wie ich das in mein Macro einfügen soll.

Bei jeder Möglichkeit die ich ausprobiert habe, bekomme ich eine Fehlermeldung.
Folgendermaßen läuft mein Programm ab: ich klicke auf einen Button, es erscheint ein UF, in TextBox 1-3 kommen Produktname, Volumen und Material. Diese Daten werden für den Namen des Blattes hergenommen (jeweils mit einem Leerzeichen dazwischen, also so „Produktname Volumen Material“) und erscheinen auch gleichzeitig in meiner Produktliste in der Zeile 5 Spalte A-C.
Was mir fehlt ist, dass es mir den Namen in der Produktliste in Range A5 verlinkt mit dem Worksheet dieses Produkts, damit ich später immer ganz schnell darauf zugreifen kann.

Ich glaube ich habe es jetzt ein bisschen besser erklären können. Ich hoffe du kannst mir da helfen, da ich wie gesagt nicht so fit bin mit VBA…

Vielen lieben Dank,
Sonja

Hallo Sonja,

warum arbeitest du nicht mit eindeutigen Produktnummern. Dann wäre der Hyperlink auch kein Problem.

schönen Gruß
Stefan

Hallo Sonja,
bin mir nicht ganz sicher ob ich Dich richtig verstehe.
Wenn Du innerhalb eine Exeldatei Hyperlinks auf die verschiedenen Blätter haben möchtest, geht das ohne VBA. mit der folgenden Formel ist das einfach zu realisieren.
= HYPERLINK("[Hier Dein Name der Datei.xlsm]hier der sheetname!H1";„Hier der NAme wie der Hyperlink heissen soll“)
h1 ist dann die zelle die angesprungen wird

mfg
wilfried

Hallo Sonja!
Ich würde per Makro ein bestehendes Hyperlink nehmen, einen bekannten Produktnamen darin suchen, und dann ersetzen. Sieh Dir mal die Textfunktionen dazu an!

gruß
wolfram

bin auf reisen, kann leider nicht antworten.
viel erfolg!

Und nochmal Hallo *Sonja*

Sofern das Sprungziel für das Produkt bekannt ist (also Datei x für Produkt 1, y für Produkt 2, etc.) kann man der Zelle den Hyperlink dynamisch hinzufügen mit

With Worksheets(1)
.Hyperlinks.Add .Range(„E5“), „http://www.w3.org/Consortium/Offices/Germany/
End With

Rest unter Excel-Hilfe, Stichwort Hyperlinks-Auflistung.

Gruß
Harry

Hallo Sonja,

vielleicht hift Dir der folgende Link weiter

http://forum.chip.de/office/hyperlink-per-vba-excel-…

Viele Grüße
Ali

Hi,

mit der Funktion Hyperlink. Aus der Hilfe für XL2002

Sie können Hyperlinks innerhalb eines Arbeitsblattes erstellen, um von einer Zelle zu einer anderen zu wechseln. Wenn das aktive Arbeitsblatt beispielsweise das Blatt Juni in der Arbeitsmappe Budget ist, erstellt die folgende Formel einen Hyperlink zu Zelle E56. Der Text des Hyperlinks selbst ist der Wert in Zelle E56.
=HYPERLINK("[Budget]Juni!E56";E56)
Um zu einem anderen Arbeitsblatt in derselben Arbeitsmappe zu wechseln, ändern Sie den Namen des Blattes im Hyperlink. Im vorigen Beispiel ändern Sie das Wort „Juni“ in „September“, um einen Hyperlink zu Zelle E56 im Arbeitsblatt September zu erstellen.

E56 im Beispiel ist der sog. Freundliche Name. Er läßt den Hyperlink nicht aussehen wie die Adresse, auf die er zeigt, sondern kann etwas anderes anzeigen.

In Deinem Fall würde ich anstelle von Juni auch eine Zelladresse setzen, nämlich die mit dem Produkt-Blattnamen. Der Hyperlink kann doch jeweils zur Zelle A1 des Produktnamensblattes springen. Als Freundlichen Namen würde ich ebenfalls diese Zelladresse setzen, damit der ganze Vorspann nicht angezeigt wird.

HTH.

Markus

Einfach den Makrorecorder starten, auf ein beliebiges Produkt einen Hyperlink setzen und somit solltest Du den Code für die Einbindung in Dein Programm haben, nur dass Du dann an der Stelle im Code, in der beim Makrorekorder Festwerte stehen, Variablen (Produktname) stehen. Gleiches gilt für das Ziel des Hyperlinks. Hier muss immer auf das entsprechende Blatt verwiesen werden.