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

VBA Hyperlinks inc. Adresse kopieren

VBA Hyperlinks inc. Adresse kopieren
28.08.2015 10:07:35
Benny
Hallo, ich habe nach langer suche auch in diesem Forum keine Lösung für mein Problem gefunden und hoffe das Ihr mir hier weiterhelfen könnt.
Ich möchte einen Hyperlink via VBA von einem Blatt auf ein anderes kopieren.
Mein bisheriger Code kopiert den Hyperlink nur als Text, also nur den der in der Zelle angezeigt wird.
Anbei hier ein Auszug aus meinem Makro:
Sub kopieren()
Worksheets("POT_GES").Activate
Letzte_POT_GES = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Startfeld_POT_GES = 5
Worksheets("Z1").Activate
Letzte_Z1 = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For A = 4 To Letzte_Z1 Step 4
Worksheets("Z1").Activate
Artikel = Cells(A + 3, 10).Value
Worksheets("POT_GES").Activate
Cells(Startfeld_POT_GES, 11) = Artikel
...
...
...
Der Inhalt aus "Artikel wird wie gesagt nur als Text kopiert, nicht als Hyperlink.
Mit Copy und paste Spezial kann ich leider nicht arbeiten da ich insgesamt ca. 420 Zeilen durchsuche und ich keine Lösung kenne die einen schlanken Code erlaubt.
Ich hoffe Ihr habt eine Lösung die einfach ist :)

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeite mit Range.Copy Destination:= ...
28.08.2015 11:30:48
Michael
Hallo Benny!
Du schreibst aktuell den Zellwert Deiner Hyperlink-Zellen in eine Variable und füllst dann die Zielzelle mit dem Wert der Variablen. Wenn Du gleich von Anfang an kopierst, wird auch der Hyperlink übernommen (egal ob Formel-Hyperlink oder echter Hyperlink), siehe Bsp:
In Tabelle1 steht in B9 ein Hyperlink, dieser soll in Tabelle2 in A1 übernommen werden...
Tabelle1.Range("B9").Copy Destination:=Tabelle2.Range("A1")
LG
Michael

AW: Arbeite mit Range.Copy Destination:= ...
31.08.2015 10:57:05
Benny
Servus, leider funktioniert das bei meinem Makro so nicht (oder ich sehe die Lösung noch nicht).
Das Makro durchläuft bei mir eine Arbeitsmappe mit ca. 450 Zeilen, wobei immer 4 Zeilen zu einem "Datenblock" gehören.
Mit: Tabelle1.Range("B9").Copy Destination:=Tabelle2.Range("A1") komme ich damit glaube ich nicht klar. Weiß nicht wie ich das einbauen sollte. Habe mit einer Copy Paste Lösung bereits Experementiert, jedoch läuft das Makro dann eeeewig lange oder stürzt sogar ab. Gibt es noch eine andere Lösung? Kann man einer Variablen nicht sagen das sie nicht nur Werte sondern auch die Formatierung mitnehmen soll?

Anzeige
AW: Nimm die Zeilennummer in Deine Schleife auf...
31.08.2015 11:07:34
Michael
Hallo Benny!
durchläuft bei mir eine Arbeitsmappe mit ca. 450 Zeilen
Du meinst sicherlich Tabellenblatt mit 450 Zeilen. Du kannst ja die Zeilennummer der Quell- sowie Zielzelle jeweils in eine Schleife aufnehmen, zB um von Tabelle1 B9:B459 nach Tabelle 2 B1:B450 die Hyperlinks zu übertragen:
    For i = 1 To 450
Tabelle1.Range("B" & i + 8).Copy Destination:= _
Tabelle2.Range("B" & i)
Next
Kann man einer Variablen nicht sagen das sie nicht nur Werte sondern auch die Formatierung mitnehmen soll?
Prinzipiell stellt Excel die Möglichkeit zur Verfügung nur bestimmt Eigenschaften einer kopierten Zelle zu übernehmen (nur Werte, nur Formate,... ). Das bringt Dir aber in dem Fall auch nichts - weil beim Übertragen des Hyperlink-Formats dennoch nicht der eigentlich Hyperlink kopiert wird. Das Einfachste ist hier wirklich einfach die Zelle direkt zu kopieren, w. o. beschrieben.
LG
Michael
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige