Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Excel VBA: Spezialfilter auf neues Tabellenblatt - Hyperlinks werden als Text angezeigt

332 views
Skip to first unread message

Claudia

unread,
Nov 25, 2016, 10:28:09 AM11/25/16
to
Hallo Excel-Gemeinde,

ich habe ein Makro erstellt, dass den Spezialfilter verwendet und die Daten auf ein neues Tabellenblatt ausgibt.
Klappt sehr gut, bis auf den noch immer vorhandenen Excel-Fehler, dass Hyperlinks nicht als Links, sondern als Text übernommen werden.

Ich habe jetzt schon mehrere Dinge aus dem Forum ausprobiert, aber es klappt einfach nicht.

Wäre schön, wenn mir jemand helfen könnte.
Ich verwende Windows 7 bzw. 8.1 und Excel 2010 bzw. 2013, mein Codeschnipsel wie folgt:

Es sind zwei Tabellen:

Tabelle Aufbau mit Daten von A14 bis BQ132 in Spalte E sind Links auf PDF-Dateien im Dateisystem
In der Tabelle ist oberhalb der Suchbereich A2 bis BQ3 für den Spezialfilter

Tabelle Filtertabelle, in dem die Ergebnisse aus dem Spezialfilter ausgegeben werden.

Sub FiltereDaten()
With Sheets("Filtertabelle").Select
Cells.Select
Selection.Delete Shift:=xlUp
End With
Sheets("Aufbau").Range("A14:BQ132").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("Aufbau").Range("A2:BQ3"), _
CopyToRange:=Range("A1"), Unique:=True
Range("A1").Select
Selection.AutoFilter
Eingabe = ""
End Sub

Die Hyperlinks in Spalte E werden als Text dargestellt mit der Formatierung der Links (blau und unterstrichen).

Bin für jede Hilfe dankbar.

Vielen Dank und Grüße
Claudia

Claus Busch

unread,
Nov 25, 2016, 10:49:51 AM11/25/16
to
Hallo Claudia,

Am Fri, 25 Nov 2016 07:28:08 -0800 (PST) schrieb Claudia:

> Die Hyperlinks in Spalte E werden als Text dargestellt mit der Formatierung der Links (blau und unterstrichen).

was willst du eigentlich machen? Du nutzt einen Kriterienbereich und
filterst gleichzeitig ohne Duplikate. Ist das so gewollt.
Um korrekte Hyperlinks zu bekommen, musst du in "Aufbau" kopieren und
dann nach "Filtertabelle" einfügen. Deshalb filtere in Aufbau:

Sub FiltereDaten()
Dim Eingabe As String

With Sheets("Filtertabelle")
.Activate
.UsedRange.ClearContents
End With

With Sheets("Aufbau")
.Range("A14:BQ132").AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=.Range("A2:BQ3"), Unique:=True
.Range("A14:BQ132").SpecialCells(xlCellTypeVisible).Copy
Sheets("Filtertabelle").Range("A1").PasteSpecial xlPasteAll
.ShowAllData
End With

Sheets("Filtertabelle").Range("A1").AutoFilter
End Sub


Mit freundlichen Grüßen
Claus
--
Windows10
Office 2016

Claudia

unread,
Nov 28, 2016, 7:07:59 AM11/28/16
to
Hallo Claus,

vielen Dank für deine Antwort.

Also ich habe eine ziemlich umfangreiche Tabelle, in der Bauteile vorkommen.
Für jedes Bauteil gibt es eine PDF-Doku, die in der Tabelle verlinkt ist.
Wenn nun jemand 10 verschiedene Bauteile raussucht, möchte ich mit dem Spezialfilter (auf ein neues Tabellenbaltt), die Bauteile rausgefiltert haben, die verwendet werden. Der Knackpunkt ist, das für die Bauteile die unterschiedlichen Konstruktionsnummer in verschiedenen Spalten stehen. Ich brauche also mehrere Suchkriterein mit und/oder Verknüpfung, deswegen geht ein Autofilter nicht.

Die Duplikate können auch rein, aber das ist für das VBA nicht relevant, den Unique-Wert auf False zu stellen.

Deine Rotuine habe ich ausprobiert, klappt allerdings nur mit xlFilternInPlace - also auf das gleiche Tabellenblatt. Es funktioniert nicht, wenn ich auf ein seperates Tabellenblatt filtere.
Ein Filtern in das gleiche Tabellenblatt ist auf Grund der Größe der Tabelle nicht möglich/Sinnvoll.

Ich möchte also gleich das Ergebnis in der neuen Tabelle haben, geht ja auch, nur ohne Hyperlinks ...

Hast du noch eine Idee?
Vielen Dank und Grüße

Claus Busch

unread,
Nov 28, 2016, 7:15:35 AM11/28/16
to
Hallo Claudia,

Am Mon, 28 Nov 2016 04:07:57 -0800 (PST) schrieb Claudia:

> Deine Rotuine habe ich ausprobiert, klappt allerdings nur mit xlFilternInPlace - also auf das gleiche Tabellenblatt. Es funktioniert nicht, wenn ich auf ein seperates Tabellenblatt filtere.
> Ein Filtern in das gleiche Tabellenblatt ist auf Grund der Größe der Tabelle nicht möglich/Sinnvoll.
>
> Ich möchte also gleich das Ergebnis in der neuen Tabelle haben, geht ja auch, nur ohne Hyperlinks ...

dann hast du es scheinbar nicht oder nicht richtig ausprobiert. Wie
geschrieben, funktionieren Hyperlinks nur, wenn sie kopiert werden.
Gefiltert funktionieren sie nicht.
Mit meinem Makro wird zwar in der gleichen Tabelle gefiltert, aber die
gefilterte Liste wird in das neue Blatt kopiert und anschließend in der
alten Tabelle wieder alle Einträge angezeigt.
Wo also ist das Problem?

Claudia

unread,
Nov 29, 2016, 9:54:47 AM11/29/16
to
Hallo Claus,

Problem ist es keines :-), aber ich hätte es gerne direkt gehabt. Aber wie du schon richtig schreibst, geht das nicht.
Also werde ich es so machen, wie dein Makro es ja auch schon macht, an gleicher Stelle filtern und dann kopieren.

Vielen Dank nochmal und Grüße
Claudia

Alexander Wolff

unread,
Dec 2, 2016, 6:51:57 AM12/2/16
to
Die folgenden Arbeitsweisen in EXCEL/VBA, nämlich

- Spezialfilter (mit Ausgabe an einen Zielbereich)
- Pivottabelle
- Zuweisung von Zellen an VBA-Variablen oder -Variants
- Datenimporte
- und bestimmt noch viele mehr, wie Solver und Regression,

können nur Werte, aber keine Formeln, keine Formate und keine sonstigen Eigenschaften der Ausgangszelle, wie eben Hyperlinks/Gültigkeiten/Kommentare, erzeugen. Einerseits strukturell bedingt, immer aber auch aus Performancegründen. Die Werte sind ja auch das A und O.

Nur Kopieren und Verschieben kann alle Eigenschaften einer Zelle mitnehmen.
0 new messages