Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA nur markierte Zeilen ausblenden

VBA nur markierte Zeilen ausblenden
08.07.2016 13:12:42
Udo
Hallo Profis,
bräuchte bitte Eure Hilfe zu folgendem Ansatz.
Basis ist eine Auflistung über die Zeilen 28-10000, geht mehrere Spalten lang.
in den vordersten Spalten ist auch ein Autofilter aktiv ...
erste relavante Spalte um die es fürs ( gesuchte ) Ereignis geht wäre Spalte Q.
Dort stehen Projektnummern.
Die Projekte belegen unterschiedliche Anzahlen von Zeilen, nicht durcheinander, sondern geordnet, Proj.1 zB. 5Zeilen, Proj.2 direkt darunter nur zB 3Zeilen, usw.
evtl mal eine Leerzeile dazwischen.
Eine ProjektNr. hat folgendes Format ( nur Zahlen ) mit 2 Leerstellen dazwischen ... 11510 150914 001 ( ohne Leerstellen immer 14 Stellen lang )
Ich würde gerne per before Rightclick Ereignis ( sprich Rechtsklick auf Spalte Q / 17 ) dass dann die Zeilen ausblendet werden, auf die die Projektnummer ( also der Zelleintrag ) zutrifft die als Target gewählt wurde.
Sprich ich mach also bei irgendeinem Projekt - welches zB. über 6Zeilen angeordnet ist , auf die oberste Zeile davon den Rechtsklick, anschl. werden diese Zeile und die darunter liegenden 5 Zeilen des gleichen Projektes zusammen ausgeblendet.
Damit hätte ich dann die Möglichkeit alte abgelaufene P. auszublenden.
Ich möchte das bewusst NICHT über den AUTOFILTER lösen ... alles weitere bekomme
ich dann hin.
Wäre Euch sehr dankbar für entspr. Hilfestellung
Lieben Dank im Voraus
Udo
Beispieldatei :
https://www.herber.de/bbs/user/106860.xlsx

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA nur markierte Zeilen ausblenden
08.07.2016 13:47:59
Michael
Hi Udo,
das geht so:
Option Explicit
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim von&, bis&, i&
If Target.Column = 17 Then
If Target.Text  "" Then
i = 1
Do: i = i - 1: Loop Until Target  Target.Offset(i)
von = Target.Row - i - 1
i = -1
Do: i = i + 1: Loop Until Target  Target.Offset(i)
bis = Target.Row + i - 1
Rows(von & ":" & bis).Hidden = True
Cancel = True
End If
End If
End Sub
Schöne Grüße,
Michael

Anzeige
großen Dank an Dich Michael, genau ...
08.07.2016 14:13:53
Udo
das hat mir gefehlt, Danke dir wirklich sehr.
Läuft prima, die restliche Anpassung auf meine Tabelle denke ich, bekomme ich jetzt damit hin.
Echt super !
Vielen vielen Dank nochmal
Gruß udo

gern geschehen, Gruß zurück owT
08.07.2016 14:50:12
Michael
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige