Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
328to332
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
328to332
328to332
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Im sichtbaren Bereich bleiben ?

Im sichtbaren Bereich bleiben ?
27.10.2003 20:29:56
udo
Hallo EXCELfreunde,

hab mal wieder ein Läckerli für alle Gernantworter ;-)

Bräuchte bitte eure Meinung zu folgender Problematik.

Versuche es mal an einem Beispiel zu verdeutlichen.

Gegeben: ist eine Tabelle mit
- mehreren Spalten ( X ...)
- ca. 3000 Zeilen
- mehreren Autofiltern pro Spalte
- Arbeitsbereich ab Zeile 19 abwärts, darüber nur Überschriften und teilweise
ausgeblendete Zeilen als Bezugszellen usw.
- Fenster bei Zeile 19 fixiert.

Gesucht ist eine Möglichkeit:
- gefilterte Zeilen nacheinander zu markieren, und dabei
- Sichtbaren Bereich zu bleiben, also nur die Zeilen die der Filterung
entsprechen.

Mein Fehler wo ich hänge:
- Ich bekomme es leider nicht gebacken, mit dem unten eingefügten Makro nur
die gefilterten Zeilen zu markieren.

Mal angenommen ich filtere die Tab. mit irgendeinem Filter, und dabei bleiben dann beispielsweise 10 Zeilen übrig, dann kann ich ja wenn ich die obere Zeile anklicke, und dann mit der Pfeiltaste( runterwärts ) einfach zur nächsten gefilterten Zeile springen ( logisch ).

Leider ist das meinerMakroanweisung nicht logisch, die springt dann nicht zur nächsten gefilterten ( also sichtbaren ) Zeile, sondern zur nächsten unter der zuvorgewählten Zeile, auch wenn die gar nicht zur Filterung gehört, und somit gerade ausgeblendet ist.

Ich habe es bisher mit diesen beiden Anweisungen schon mal probiert:

- ActiveWindow.SmallScroll down:=1
- Cells(ActiveCell.Row + 1, 16).Select ( Spalte 16 zum Beispiel )

...wie gesagt, er springt mit so immer zur direkten Zeile darunter, und nicht zur nächsten sichtbaren Zeile. :-( Misst !

Wäre klasse wenn mir Jemand auf die Sprünge helfen könnte,
Recht herzlichen Dank schon mal im Voraus,

Gruß udo D.

hier noch mein Makro ( der Bereich der Formatierung funkt. gut, nur der Wechsel ...)
------------------------------------------------------------------------

Sub Markierungen_setzen()
Dim Mldg As Byte
Mldg = MsgBox(Chr(10) & Chr(10) & _
"         Möchten Sie ihren gefilterten Bereich nun markieren ?        " & Chr(10) & _
"         Haben Sie ihre Farbe eingestellt ?                           " & Chr(10) & _
"                                                                      " & Chr(10) & _
"         Bitte mit  [ Ja ]  nochmals bestätigen !                     " & Chr(10) & _
"                                                                      " & Chr(10), vbYesNo + vbQuestion, "", "", 0)
If Mldg = 6 Then
Application.ScreenUpdating = False
Dim A As String
A = ActiveCell.Row
Cells(18, 14).Select
ActiveWindow.SmallScroll down:=1
Cells(ActiveCell.Row, 14).Select
nochmal:
If Cells(ActiveCell.Row, 16) = "Ende" Then Exit Sub
ActiveWindow.SmallScroll down:=1
Cells(ActiveCell.Row, 14).Select
If Cells(ActiveCell.Row, 16) = "" Then GoTo nochmal:
'Application.ScreenUpdating = False
With Range(Cells(A, 2).Address & ":" & Cells(A, 13).Address)
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
End With
With Range(Cells(A, 2).Address & ":" & Cells(A, 13).Address).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 48
End With
With Range(Cells(A, 2).Address & ":" & Cells(A, 13).Address).Interior
.Pattern = xlGray25
.PatternColorIndex = Range("B1")
End With
With Range(Cells(A, 5).Address).Font
.Bold = True   'fettschrift ein
.Size = 11
End With
GoTo nochmal:
End If
'Application.ScreenUpdating = True
Cells(3, 3).Select
'End If
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Zur nächsten sichtbaren Zelle / markieren
27.10.2003 21:18:59
Hans T.
Hallo Udo

Ich muss gestehen: ich verstehe weder die Aufgabenstellung noch den Beispiel-Code. Willst du zur nächsten sichtbaren Reihe springen oder willst du alle sichtbaren Reihen ab Reihe 19 markieren?

Das erste erreichst du mit:


Sub GoDown()
'Geht eine Reihe hinunter; überspringt unsichtbare Reihen
Do
ActiveCell.Offset(1, 0).Activate
Loop Until ActiveCell.EntireRow.Hidden = False
End Sub

Um das zweite zu erreichen, soll dein Makro zuerst den gewünschten Bereich markieren (auch die ausgeblendeten Reihen). Dann schränkst du die Markierung auf die sichtbaren ein mit diesem Code:

Selection.SpecialCells(xlCellTypeVisible).Select

Ich hoffe, du kommst mit diesen Hinweisen zum Ziel.

Viel Erfolg wünscht Hans T.
Anzeige
Vielen Dank einstweilen, werde ...
27.10.2003 21:25:41
udo
Hallo Hans,

Vielen lieben Dank einstweilen, Ich denke dass ich mit deinem Vorschlag schon mal ganz gut weiterkommen könnte, zumindest mit dem ersten Teil daraus.

Ja, vielleicht war es etwas viel erklärt, wollte nur sicher gehn dass mich keiner falsch versteht.

Möchte nur die sichtbaren Zeilen markieren ..., die unsichtbaren soll er mir in Ruhe lassen während das Makro läuft.

Ich bastel mal rum, und meld mich später nochmals,

Danke dir sehr , Gruß udo D.

;-)

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige