Im sichtbaren Bereich bleiben ?
27.10.2003 20:29:56
udo
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