Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Hyperlinks kopieren mit Advanced Filter

Hyperlinks kopieren mit Advanced Filter
22.06.2009 19:43:04
Oliver
Hallo,
ich habe ein Tabelle, die ich über eine Advanced Filter Routine in ein anderes Tabellenblatt innerhalb der gleichen Excel Datei filtere. Als VBA Laie habe ich mir die benötigten Makros aus diversen Foren zusammenkopiert und meine Tabellen "drum herum" gebaut. Funktioniert einwandfrei und ich bin happy...
...ausser dass beim Filtern/Kopieren die Hyperlinks auf der Strecke bleiben:
in der Ursprungstabelle (ca. 300 Zeilen) steht in einer Spalte das Wort "Link!" und auf dem Wort liegt jeweils ein Hyperlink auf eine Internet-Seite, die auch prima aufgeht, wenn ich auf "Link!" klicke. (also 300 verschiedene Links)
dieses "Klick-auf-"Link!"-und-Seite-geht-auf-Feature" hätte ich natürlich auch gerne in der gefiltert/kopierten Tabelle. Dort tauch nach erfolgreichem Filter-kopieren aber nur das (blau unterstrichene) Wort "Link!" auf, die Hyperlink-Info existiert nicht mehr
im Makro steht die Filter-Routine folgendermaßen:
...
Range("DataStart").CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range(.Range("DataCrit").Row & ":" & lngRows), _
CopyToRange:=.Range("DataGoal"), _
Unique:=False
...
kann mir jemand diese Routine so aufpeppen, dass auch die Hyperlink-Info mit übertragen wird, oder hat eine von Euch ne Idee, wie ich das anders schaffe? (so dass ich es auch mit Bordmitteln hinbekomme)
Vielen Dank schon mal für Eure Anregungen!
Gruss
Oliver

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hyperlinks kopieren mit Advanced Filter
23.06.2009 07:31:27
fcs
Hallo Oliver,
mit den Einsellungen des Spezialfilters ist da meines Wissens nichts zu machen.
Da müssten ggf. in einem 2. Durchlauf die gefilterten Datenzeilen im Gesamtbestand gesucht werden und dann die Zellen mit den Links kopiert werden.
Das geht relativ einfach, wenn in beiden Listen (Gesamt und gefiltert) in einer Spalte ein eindeutiger Eintrag (Schlüsselfeld) ist, der jede Zeile eindeutig kennzeichnet. Es ist etwas komplizierter, wenn die eindeutige Identifizierung der Zeile nur durch Kombination mehrerer Spalten möglich ist.
Gruß
Franz
Hier ein Beispiel, das du an deine Tabelle(n) anpassen muss, falls eindeutiger Schlüssel vorhanden.

Sub HyperlinksKopieren()
Dim wksGesamt As Worksheet, wksGefiltert As Worksheet
Dim ZeileGesamt As Long, ZeileFilter As Long, Zelle
Dim SpSchluessel_G As Long, SpLinkGesamt As Long, varSchluessel
Dim SpSchluessel_F As Long, SpLinkFilter As Long
Set wksGesamt = Worksheets("Tabelle1") 'Tabellenblatt mit Gesamtliste
Set wksGefiltert = Worksheets("Tabelle2") 'Tabellenblatt mit Filterliste
SpSchluessel_G = 1  'Spalte mit Schlüssel in Gesamtliste
SpLinkGesamt = 6        'Spalte mit Link in Gesamtliste
SpSchluessel_F = 1  'Spalte mit Schlüssel in gefilterter Liste
SpLinkFilter = 6        'Spalte mit Link in gefilterter Liste
With wksGefiltert
For ZeileFilter = 2 To .Cells(.Rows.Count, SpSchluessel_F).End(xlUp).Row
varSchluessel = .Cells(ZeileFilter, SpSchluessel_F).Value
'Schlüssel in Gesamtliste suchen
With wksGesamt
'Letzte Zeile der Gesamtliste
ZeileGesamt = .Cells(.Rows.Count, SpSchluessel_G).End(xlUp).Row
'Schluessel suchen
Set Zelle = .Range(.Cells(2, SpSchluessel_G), .Cells(ZeileGesamt, SpSchluessel_G)) _
.Find(what:=varSchluessel, LookIn:=xlValues, lookat:=xlWhole)
If Zelle Is Nothing Then
MsgBox "Schlüssel """ & varSchluessel & """ nicht gefunden!"
Else
'Zelle mit Link kopieren
.Cells(Zelle.Row, SpLinkGesamt).Copy _
Destination:=wksGefiltert.Cells(ZeileFilter, SpSchluessel_F)
End If
End With
Next
End With
End Sub


Anzeige
AW: Hyperlinks kopieren mit Advanced Filter
23.06.2009 09:29:37
Oliver
Hi Franz,
mir ist über Nacht noch ne Variante eingefallen, mit der ich hoffte, das ganze ohne aufwändige VBA Makros realisieren zu können:
ich füge in der Ursprungstabelle zwei Spalten ein:
1.Spalte: hier wird die Hyperlinkadresse der Zelle ausgelesen (funktioniert schon, ich habe jetzt die 300 Adressen in String-Form)
2. Spalte: aus dem String wieder einen Hyperlink machen (Funktion: Hyperlink (Zelle, Name))
leider wieder das gleiche Ergebnis: es wird nicht die Formel/Funktion mitkopiert.
kann der Advanced Filter wirklich keine Funktionen, sondern nur Werte kopieren?
Gruss,
Oliver
Anzeige
AW: Hyperlinks kopieren mit Advanced Filter
23.06.2009 15:37:11
Oliver
Hallo,
ich habe noch eine weitere Frage zum Einsatz des Advanced Filters in einem Makro:
kann ich dem Filter irgendwie mitteilen, dass er nicht nach einem exakten Match der kriterien suchen soll, sondern dass die Übereinstimmung in Teilen ausreicht? (z.B. Filtern aller Felder, in denen sich das unter anderem das Wort "Mgmt" befindet).
Nach wie vor sieht der Code, über den gefiltert wird folgendermaßen aus:
Dim lngRows As Long
Dim rngGoalData As Range
With Sh
lngRows = .Range(.Range("DataCrit").Row & ":" & .Range("DataGoal").Row - 1). _
Find(what:="*", _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Set rngGoalData = .Range("DataGoal").CurrentRegion
If rngGoalData(1, 1).Row < .Range("DataGoal").Row Then
rngGoalData.Offset(.Range("DataGoal").Row - 1, 0).Clear
Else
.Range("DataGoal").CurrentRegion.Clear
End If
Range("DataStart").CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range(.Range("DataCrit").Row & ":" & lngRows), _
CopyToRange:=.Range("DataGoal"), _
Unique:=False
End With
Vielen Dank für einen Hinweis oder Workaround.
Oliver
Anzeige
AW: Hyperlinks kopieren mit Advanced Filter
23.06.2009 17:43:02
fcs
Hallo Oliver,
alle Kriterien, nach denen gefiltert werden soll, müssen im Kriterien-Bereich angegeben werden. Mit einer Ergänzung im Code geht da meines Wissens nichts. Ich hab allerdings im Moment nicht die Syntax griffbereit, wie man da "enthält" definiert. evtl: ="*Mgmt*"
Gruß
Franz
AW: Hyperlinks kopieren mit Advanced Filter
23.06.2009 11:15:21
Oliver
Hi Franz,
habe jetzt doch Deine Vorlage genommen und mit wenigen Handgriffen anpassen können. Funktioniert wunderbar!
Vielen Dank!
Oliver

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige