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

Forumthread: VBA verbundene Zellen filtern

VBA verbundene Zellen filtern
09.12.2022 14:23:48
Dark
Hallo zusammen,
hatte die Frage schon Mal in einem anderen Beitrag zu anderem Thema erstellt - der Richtigkeit halber nochmal hier:
In meiner Datei ist ein Bereich (N19:N3013), bei dem jede Zelle mit der unteren verbunden ist (z.B. N21:N22).
Die möchte ich nach bestimmten Kriterien filtern, mit folgendem Code: (funktioniert)

Application.ScreenUpdating = False
Sheets("Planning").Select
Range("$N18:$N$3013").Select
Selection.AutoFilter
ActiveSheet.Range("$N18:$N$3013").AutoFilter Field:=1, Criteria1:="HansdieWurst"
Range("A1").Select
False, AllowUsingPivotTables:=True
Application.ScreenUpdating = True
Jedoch werden nur die Zellen gefiltert, die dem Kriterium entsprechen und die Verbundenen ausgeblendet.
Irgendwie muss ich .MergeArea.Font einbauen - aber keine Ahnung wie.
Hat jmd eine Idee?
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA verbundene Zellen filtern
09.12.2022 14:56:54
EtoPHG
Als Excel-Profi müsste dir bekannt sein, dass die Anwendung von Verbundzellen immer wieder auflaufen lässt.
Nein das kann nicht mit Filterfunktionen von Excel gelöst werden.
Entweder ausprogrammieren, d.h. Zeilen aufgrund der gewählten Kriterien und Zusammenhänge programmatisch aus-/einblenden oder ggf. mit Hilfspalten deren Einzelzellen entsprechend der Kriterien gesetzt werden und dann als Basis für eine 'Standard'-Filterung beigezogen werden.
Gruess Hansueli
Anzeige
AW: VBA verbundene Zellen filtern
09.12.2022 15:58:03
Daniel
Hi
nein beim Filtern in Zellverbünden hilft dir das "MergeArea" nichts.
der Autofilter zeigt dir nur die Zellen an, die den Filterwert enthalten.
bei einem normalen Zellverbund ist nur die obere Linke Zelle des Verbundes befüllt und die restlichen Zellen sind leer.
also blendet der Filter diese restlichen Zellen aus.
der erste Schritt wäre, dass du die Zellverbünde auflöst und die leeren Zellen mit dem entsprechenden Wert befüllst.
Dann kannst du mit dem Autofilter arbeiten.
Wenn du trotzdem die Verbund-Optik haben willst, gibts zwei möglichkeiten:
a) über Bedingte Formatierung die Schrift und ggf die obere Rahmenline ausblenden, wenn der Wert der Zelle gleich der darüberliegenden Zelle ist.
b) den Zellverbund über diesen Weg erstellen:
1. Formatiere einen leeren Zellbereich so, wie der Zielbereich formatiert werden soll also mit Verbund, Färbung, Rahmen usw
2. kopiere dann diesen Zellbereich und füge ihn mit Inhalte Einfügen - Format oder dem Pinselsymbol in den Zielbereich ein. der Zellverbund wird hierbei erstellt, aber die Zellinhalte bleiben erhalten (beim direkten Verbinden werden die Inhalte der andern Zellen gelöscht)
die dritte Option wäre, dass du dir eine Hilfsspalte erstellst, die alle Werte enthält und in der du stattdessen filtern kannst.
das kannst du auch im Makro machen, wenn es nur temporär für die Bearbeitung benötigt wird und dann die Spalte wieder löschen.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA zum Filtern von verbundenen Zellen in Excel


Schritt-für-Schritt-Anleitung

Um in Excel verbundene Zellen zu filtern, kannst du den folgenden VBA-Code verwenden. Dieser Code filtert die Zellen in einem definierten Bereich und zeigt nur die Zellen an, die den angegebenen Kriterien entsprechen.

Application.ScreenUpdating = False
Sheets("Planning").Select
Range("$N18:$N$3013").Select
Selection.AutoFilter
ActiveSheet.Range("$N18:$N$3013").AutoFilter Field:=1, Criteria1:="HansdieWurst"
Range("A1").Select
Application.ScreenUpdating = True

Dieser Code funktioniert, allerdings werden nur die Zellen gefiltert, die den Kriterien entsprechen, während die verbundenen Zellen ausgeblendet werden. Um das Problem der verbundenen Zellen zu lösen, musst du die Zellen möglicherweise zuerst trennen oder die leeren Zellen mit dem entsprechenden Wert befüllen.


Häufige Fehler und Lösungen

Ein häufiges Problem ist, dass beim Filtern von verbundenen Zellen nur die obere linke Zelle des Zellverbunds befüllt ist, während die anderen Zellen leer bleiben. Dadurch blendet der Autofilter die leeren Zellen aus. Hier sind einige Lösungen:

  1. Verbundene Zellen trennen: Trenne die verbundenen Zellen und befülle die leeren Zellen mit dem entsprechenden Wert.
  2. Hilfsspalte erstellen: Füge eine Hilfsspalte hinzu, die die Werte enthält. Mit dieser Spalte kannst du den Filter normal anwenden, ohne die verbundenen Zellen zu verwenden.

Alternative Methoden

Wenn du die Optik von verbundenen Zellen beibehalten möchtest, gibt es verschiedene Alternativen:

  1. Bedingte Formatierung: Verwende die bedingte Formatierung, um die Schrift und die obere Rahmenlinie auszublenden, wenn der Wert der Zelle gleich dem darüberliegenden Wert ist.
  2. Inhalte einfügen: Du kannst einen Zellbereich formatieren und dann diesen Bereich kopieren und in den Zielbereich einfügen, ohne die Zellen direkt zu verbinden. Dies bewahrt die Inhalte der Zellen.

Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du die Hilfsspalte verwenden kannst:

  1. Erstelle eine neue Spalte (z.B. Spalte O) neben den verbundenen Zellen in Spalte N.
  2. Füge die Werte aus den verbundenen Zellen in die Hilfsspalte ein.
  3. Wende den Autofilter auf die Hilfsspalte an, um die gewünschten Ergebnisse zu filtern.

Mit dieser Methode kannst du die verbundenen Zellen filtern, ohne dass der Filter die leeren Zellen ausblendet.


Tipps für Profis

  • Achte darauf, dass du beim Arbeiten mit verbundenen Zellen die Struktur deiner Daten im Hinterkopf behältst. Verbundene Zellen können in Excel oft zu unerwarteten Ergebnissen führen.
  • Überlege, ob es notwendig ist, Zellen zu verbinden. In vielen Fällen ist es besser, die Zellen unverbunden zu lassen und stattdessen mit Formatierungen zu arbeiten, um die gewünschte Optik zu erzielen.
  • Nutze VBA, um komplexe Filteroperationen durchzuführen, die über die Standardfilterfunktionen hinausgehen.

FAQ: Häufige Fragen

1. Kann ich mit dem Autofilter auf verbundenen Zellen arbeiten?
Nein, der Autofilter funktioniert nicht optimal mit verbundenen Zellen. Es ist besser, die Zellen zu trennen oder eine Hilfsspalte zu verwenden.

2. Wie trenne ich verbundene Zellen in Excel?
Markiere die verbundenen Zellen, gehe zu "Start" > "Format" > "Zellen verbinden" und wähle "Zellen verbinden aufheben".

3. Wie kann ich den Inhalt von verbundenen Zellen kopieren?
Um den Inhalt von verbundenen Zellen zu kopieren, solltest du zuerst die Zellen trennen und dann die Daten in die gewünschten Zellen übertragen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige