Hallo Freunde,
in Spalte A eines Worksheet stehen einige tausend Strings. Mit dem Automatikfilter
filtert man eine Teilmenge davon heraus. Anschließend versucht man in dieser Spalte Strings
zusammenzulegen, und zwar so, dass jeweils der String in Spalte A derjenigen Zeile, in der sich die aktive
Zelle befindet, innerhalb einer Zelle weiter oben in Spalte A hinter den in dieser Zelle enthaltenen String kopiert und dann die Zeile, in der sich der kopierte String befindet, gelöscht wird. Der Inhalt zweier
Zellen soll also zusammengelegt werden.
Wären die Einträge in Spalte A nicht gefiltert, würde das recht einfach sein: Mit "Input" eine Abfrage einbauen, um wieviele Zeilen nach oben der String verlegt werden soll und dann den String mit "Cells(ActiveCell.Row - Abfrageergebnis, 1).Value " verketten, anschliessend die ActiveCell.Row mit dem String löschen.
Erreicht werden soll jedoch, dass, wenn der Benutzer auf die Input-Abfrage z.B. "2" eingibt, der String
zu dem String in der Zelle in Spalte A hinzuaddiert wird, die genau zwei sichtbare Zeilen über der Zeile liegt, in der sich die aktive Zelle befindet. Dazwischen kann natürlich eine unbestimmte Anzahl ausgefilterter, nicht
sichtbarer Zellen liegen.
In einem zweiten Schritt soll noch erreicht werden, dass das Kopieren des Strings nicht nur in Richtung
nach oben, sondern auch nach unten funktioniert.
Wie macht man das? Geht das irgendwie mit "xlVisibleCells"?
Wer weiss Rat? Bin mal gespannt... Werner R.