HERBERS Excel-Forum - das Archiv

Thema: VBA nur Zeilen mit bestimmten Eintrag selektieren

VBA nur Zeilen mit bestimmten Eintrag selektieren
udo D.
Grüße Euch,

kurze Frage hat Jemand von Euch schon mal eine Zeilenauswahl entwickelt die nur die Zeilen berücksichtigt
die ( in meinem Falls in Spalte 16 (P) ein "x" stehen haben, diese dann ( jew. immer die ganze Zeile ) dann zu einer
Gesamtauswahl selektiert ( wie wenn ich die nach und nach Zeile für Zeile zusammen selbst selektieren würde ).

Hat von Euch jemand dazu eine Schleife, eine entspr. Anweisung oder Ähnliches.
Ihr würdet mir damit sehr helfen.

LG Udo

AW: VBA nur Zeilen mit bestimmten Eintrag selektieren
daniel
Hi
was steht denn genau in Spalte P und wie kommen die Werte dort zu stande?
Werden die Werte von Hand eingetragen oder steht da eine Formel?
was steht in den anderen Zellen, in den kein "x" steht? sind die leer oder steht da was anderes?
wieviele Zeilen enthält deine Liste?
Gruß Daniel
AW: VBA nur Zeilen mit bestimmten Eintrag selektieren
udo D.
Hallo Daniel,
in Spalte P ( ist in dem Fall eine Hilfsspalte ) steht sonst nichts ... es gibt zuvor eine Prozedur, in der in bestimmten Zeilen die einer vorherigen
Auswahl entsprechen, in diese Auswahl aller dort beteiligten Zeilen wird in P ein "x" eingetragen, dieses dient temporär nur zum markieren
jener Zeilen ( im TAB ist auch eine bedingte Formatierung die darauf reagiert usw. ), das Handlin des Anwenders sieht vor dass er immer abschnittsweise
sich einige Zeilen markieren kann, diese dann zu einer Gesamtauswahl ( in P sozusagen mittels dem X dort markiert ) und irgendwann wenn er dann
ganz fertig ist und er dann ein weiteres Makro ablaufen lassen will, muss dieses nun nur diese Zeilen mit einem x in P einfach nur selektieren ...
diese werden dann verschoben oder Inhalte wo anders hin kopiert usw.

mir gehts letztlich nur darum die hierzu in P kurzzeitig per x markierten Zeilen dann zu selektieren

anschließend wird Spa P wieder komplett geleert,
hilft dir das ?

Lieben Dank
udo
AW: VBA nur Zeilen mit bestimmten Eintrag selektieren
udo D.
... achso ja, das x wird in P mittels einer Schleife eingetragen ... Anzahl der Zeilen unbegrenzt,
vermtl. reichen ca. 10tsd ( was die gesamte Auflistung betrifft ) während der Prozedur des Auswählens werden es ggf. immer nur ein paar Zeilen sein
sollte man das per Schleife lösen, vielleicht so 1-max 50 Zeilen, kann da gerne auch eine Grenze setzen, das bekäme ich auch alleine hin, die für eine
Auswahl max. 50 Selektionen zulässt oder so ...
AW: VBA nur Zeilen mit bestimmten Eintrag selektieren
MCO
Hallo!"

Wie wäre es denn mit dieser schicken Methode?
Range("P:P").SpecialCells(xlConstants).Select


Gruß, MCO
100% - vielen lieben Dank ihr Beiden ...
udo D.
Hallo Daniel, grüß dich MCO,

prima, eure Ansätze sind perfekt, genau das hilft mir an der Stelle perfekt weiter.
Ganzherzlichen Dank an Euch

LG udo
AW: VBA nur Zeilen mit bestimmten Eintrag selektieren
udo D.
... ich dachte zuerst an eine Lösung mittels dem Blattfilter, in diesem Bereich habe ich über mehrere Spalten einen Autofilter für den gesamten Bereich gesetzt.

Sprich ich würde somit die Spalte P szs. nach x Filtern, die übrig gebliebenen Zeilen dann selektieren von Anfang bis Ende, dann kopieren, danach
Filter wieder öffnen und nun entspr. den auf kopieren gesetzten Bereich weiter ...

Problem dabei ist nur dass in dem Prozess später der Anwender ggf. in weiteren Spalten noch zusätzl. Filter setzt und ggf. dann noch einzelne aus P mit "x"
im Filterendergebnis dann fehlen bevor ich das dann weiters verwende ...

Daher such ich eher eine Anweisung die zu einem bestimmten Zeitpunkt dann P nach "x" durchsucht und alle beteiligten ( je gesamte Zeile ) dann selektiert

... das wäre für mich der Königsweg, lass mich aber gerne auch eines besseren belehren ...

lieben Dank
udo
AW: VBA nur Zeilen mit bestimmten Eintrag selektieren
daniel
hi
wenn in Spalte P sonst nichts steht, kannst du ja alle Zellen mit TextInhalt selektieren:

Range("P:P").SpecialCells(xlcelltypeconstants, 2).entireRow.Select

es sollte aber mindestens eine Zelle mit Text vorhanden sein, da sonst ein Fehler ausgeben wird, oder man muss eine entsprechende Abfrage vorschalten.

Gruß Daniel