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

Markierung nach unten - bis erste Zeile nicht ausg

Markierung nach unten - bis erste Zeile nicht ausg
12.07.2018 10:08:17
Peter
Guten Tag
Mit diesem Code kann ich die bestehende Selection jeweils eine Zeile nach unten verschieben.
Nun möchte ich, dass die diese Aktion wiederholt wird, wenn nach dem Verschieben die erste Zeile vollständig (ENTIREROW) ausgeblendet ist. Ich dachte, ich könne das mit einem Loop machen
Do While ActiveCell.Offset(1, 0).EntireRow.Hidden = True
Loop
doch irgendwie bleibt die Markierung immer and der gleichen Stelle.
Gruss, Peter
Sub OffsetToDown()
'' Tastenkombination: Strg+Umschalt+D
Dim AktiveZelle As Range
Set AktiveZelle = ActiveCell
If Selection.Row 

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

Betreff
Datum
Anwender
Anzeige
AW: Markierung nach unten - bis erste Zeile nicht ausg
12.07.2018 18:02:45
Barbaraa
Hi Peter,
vielleicht verwechselst Du Select mit Activate.
Folgender Code zeigt den Unterschied:
Sub Rechteck()
Dim AktiveZelle As Range
Set AktiveZelle = Range("B2:E9")
AktiveZelle.Select
AktiveZelle.Offset(3, 0).Activate
End Sub
Ausgeblendete Zeilen oder Spalten sollten den Ablauf nicht beeinflussen.
LGB
AW: Markierung nach unten - bis erste Zeile nicht ausg
13.07.2018 09:26:07
Peter
Hallo Barbara
In der Zwischenzeit habe ich eine Lösung gefunden:
Sub OffsetToDownVisible()
Dim Zeile As Long, Zähler As Long, AktiveZelle As Range
Set AktiveZelle = ActiveCell
Zeile = ActiveCell.Row
Zähler = ActiveCell.Row
With ActiveSheet
Do
Zähler = Zähler + 1
Loop Until Rows(Zähler).Hidden = False
Selection.Offset(Zähler - Selection.Row, 0).Select
AktiveZelle.Offset(Zähler - Zeile, 0).Activate
End With
End Sub
Die Differenzierung von Select und Activate hat im vorliegenden Fall folgende Bewandtnis:
Beispiel / Ausgangslage
Im aktiven Excel-Worksheet sind die Zeilen 6-19 ausgeblendet.
Markiert ist B5:D5, wobei Zelle D5 aktiv ist.
Wenn ich nun meinen Code ablaufen lasse, ist anschliessend B20:D20 markiert, wobei die Zelle D20 aktiv ist.
Wenn ich im Code die Zelle "AktiveZelle.Offset ......." auskommentiere, und die gleiche Aktion durchführe, ist am Schluss auch B20:D20 markiert - allerdings ist dann Zelle B20 (und nicht wie gewünscht D20) aktiv.
Gruss, Peter
Anzeige
Danke für die schöne Aufgabe.
13.07.2018 15:25:28
Barbara
Hallo Peter,
na, da bin ich ja gar nicht so schlecht gelegen mit Deinen Angaben, die ich bis dahin hatte.
Freut mich, dass Du selbst eine geeignete Lösung gefunden hast. Mit den letzten Angaben ist das Problem auch einleuchtend. Du hast nun zum Beispiel erklärt, dass Du mit "Erste Zeile" die nächste Zeile meinst.
Danke für die schöne Aufgabe. Ich freue mich immer wieder über solche Herausforderungen.
LGB

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige