24.10.2016, 09:37 (Dieser Beitrag wurde zuletzt bearbeitet: 24.10.2016, 09:37 von Spike87.)
Hallo liebe Community,
Ist es wohl möglich mehrere Exceleinträge gleichzeitig zu markieren und diesen unterschiedliche Hyperlinks, aus einer 2ten Spalte, zuzweisen?
ich habe eine große Tabelle bestehend aus mehreren Spalten. Die 2 wichtigsten sind "Name" und "ID".
Der Name steht für die Namen von Dokumenten. Ich kann auf diese Dokumente Online zugreifen, indem ich einen vorgegebenen festen Link + ID im Internet eingebe.
Möchte ich nun auf das Dokument "Frosch" zugreifen, müsste ich bei www.test_.de das "_" durch die 5 austauschen.
Beim Start des Programms öffnet sich ein Formular, bei diesem kann ich den Suchparameter "Alle Namen die mit A anfangen" ausführen und alle gefundenen Dokumente auf einer weiteren Seite aufgelistet nach Ihren Namen ausgeben lassen.
Ich möchte jetzt aber auch, dass dazu unter jedem Namen der Hyperlink, also der Link + ID automatisch hinterlegt wird.
Ich würde mich sehr über Hilfe freuen, lg Spike
PS: Die über den Suchparameter gefundenen Daten in der Tabelle werden auf ein weiteres Blatt kopiert und sortiert. Die hier fertigen Einträge werden alle zusammen selektiert und auf ein nächstes Blatt (Das Ausgabeblatt) kopiert. Gibt es vlt die Möglichkeit den gesamten ausgegeben Bereich "als Hyperlink" zu selektieren und den Link fest + die IDs in ihrer Reihenfolge wie im 2ten Blatt einzufügen. Anstatt jedes einzeln im Ausgabeblatt zu selektieren, das würde bei der Menge meiner Daten schon zu erheblichen Zeitverlust führen.
nutze INDEX() und VERGLEICH(), um für den von Dir ausgewählten Namen die zugehörige ID-Nummer zu ermitteln und verknüpfe diese mit der Funktion &() und Deinem "Basis"text und der Funktion HYPERLINK() zu einem funktionsfähigen dynamischen Hyperlink.
Es gibt 3 Seiten/Tabellenblätter: Auf der ersten steht die Ausgangstabelle.
Auf der 2ten werden über die Suchparameter die gesuchten Dokumente+ID aus Tabelle 1 ausgegeben und sortiert.
Nun werden die fertig sortierten Dokumente (Ohne ID) aus Tabelle 2 komplett markiert und in Tabelle 3, zur Ausgabe kopiert. Dies ist bereits fertig implementiert.
In diesen Prozess möchte ich nun das Unterlegen der Hyperlinks einfügen.
Das rausfinden der ID Nummer ist ja kein Problem, die würde auf meiner 2ten Seite sowieso sortiert direkt neben dem auszugebenden Namen stehen.
Eine Idee wäre es, auf der 2ten Seite eine 3te Spalte in die Tabelle einzufügen, die Spalte "HyperlinK". Diese würde ich dann mit dem festen Link + ID aus der ersten Spalte und dem Namen aus der 2ten füllen, die komplette 3te Spalte dann kopieren und auf die Ausgabeseite einfügen. Leider gehen dann die Bezüge flöten.
Ich schau mal ob ich es ohne zu großen Zeitverlust schaffe, die "Hyperlink Spalte" auf der Auswertungsseite einzufügen. Das Problem ist nur, dass Programm braucht jetzt schon Minuten zum Bearbeiten der Daten. Vlt fällt jemand ja direkt noch ein eleganterer Weg ein. lg
hier ein vba-Ansatz. Zum Testen wurden die Spalten A und B genutzt:
Code:
Sub Spike_Hy()
sPath = "http://www.Test_.de" For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row Tx = Replace(sPath, "_", Cells(i, "A")) Cells(i, "B").Hyperlinks.Add Cells(i, "B"), Tx Next i End Sub
24.10.2016, 12:49 (Dieser Beitrag wurde zuletzt bearbeitet: 24.10.2016, 12:49 von Spike87.)
Vielen Dank, nach so einem Ansatz habe ich gesucht!
Ich habe das ganze nun ohne VBA so gelöst, dass ich in der Suchparameterformel die Hyperlinkfunktion direkt mit eingebaut habe, so dass quasi bei den sortierten Dokumenten auf Seite 2 direkt der Hyperlink schon hinterlegt ist. Mit Tabellenblattbezug in der Formel kommt es auch nicht mehr zu Problemen mit den Bezügen.
Ich habe so zwar 40.000 Zeilen mit Formeln auf Seite 2 mit Bezug auf Seite 1, aber ich glaube dies ist immer noch schneller als jedes mal eine Schleife über 40.000 Schritte ablaufen zu lassen.
Werde aber weiterhin rumprobieren um auf die Beste Lösung zu kommen.
lg
Edit:
OK, mit meinem Ansatz bekomme ich zwar wunderbar alles auf Seite 2, direkt an der Stelle der Formel ausgegeben, ich kann aber nicht die Werte + Hyperlink kopieren und wo anders einfügen. Es geht nur entweder der blanke Wert (Ohne Hyperlink) oder die Formel selbst, die dann aber falsche Bezüge hat, da sie an einer anderen Stelle steht.
Hallo Fennek, ich habe jetzt auch mal deine Datei durchprobiert. Nachdem man über VBA den Zellen einen Hyperlink zuweist ist es ohne Probleme möglich diese zu verschieben, zu kopieren etc. und der Hyperlink bleibt erhalten, ist quasi an die Zelle gebunden.
Ist dies irgendwie auch über die Formel =Hyperlink(x;y) möglich, direkt in Excel ? Oder MUSS ich zwingend VBA dafür nutzen?
(24.10.2016, 14:41)Spike87 schrieb: Hallo ... Ist dies irgendwie auch über die Formel =Hyperlink(x;y) möglich, direkt in Excel ? Oder MUSS ich zwingend VBA dafür nutzen?
lg
Hallo, möglich ist vieles. Werner hatte ja schon in diese Richtung geantwortet...
Gruß Jörg stolzes Mitglied im ----Excel-Verein Freund einer excellenten Power Query-Abfrage
Diese ist dann über 40.000 Zeilen nach unten gezogen und findet auch die passenden Werte und macht aus diesen einen Hyperlink. Alle unpassenden Werte besitzen lediglich eine 0.
Über eine weitere Formel pickt der alle nicht "0" Werte raus und fügt sie woanders ein und sortiert sie. Was ich gerne möchte ist den hyperlunk "gebunden" an den Werten übernehmen, dass diese auch über die Sortierung erhalten bleibt und keine lange Formel drunterlegt ist.
Quasi die Werte so behandelt, wie wenn man sie mit VBA zu Hyperlinks macht.
Hallo, Das ist leider nicht möglich, ich könnte höchstens eine Beispieldatei erstellen. Die Formel selbst ist aber völlig irrelevant, es könnte auch sein WENN(A1>1;HYPERLINK(B1),0) oder wie auch immmer. Es gibt auch 9 verschiedene Abfragen mit unterschiedlichen Formeln.
Nehmen wir die Beispielformel von oben:
A B C 1 0,5 www.heise.de WENN(A1>1;HYPERLINK(B1),0) 2 2 www.heise.de WENN(A2>1;HYPERLINK(B1),0) 3 4 www.heise.de WENN(A3>1;HYPERLINK(B1),0)
Kann ich nun nur das www.heise.de, welches ein Hyperlink, ist irgendwie kopieren und wo anders einfügen? So wie ich es auch mit Zellen machen kann, die über VBA zu einem Hyperlink gemacht worden sind? Denn so könnte ich höchstens die komplette Formel verschieben, die dann auch noch im schlimmsten Fall ihre Bezüge ändert. Aber auf der Ausgabeseite möchte ich nur ein www.heise.de mit einem Hyperlink zu www.heise.de haben.
Mit Rechtsklick kopieren in Excel selbst geht es scheinbar nicht.