Ich suche das Code, das die erste Zeille in der gefilteten Tabelle markiert. Hat jemand eine Lösung???
Yori
Ich suche das Code, das die erste Zeille in der gefilteten Tabelle markiert. Hat jemand eine Lösung???
Yori
sieh Dir doch bitte mal aus dem Archiv den Beitrag Sprung auf die erste Zelle eines Autofilters an.
cu
jinx
Range("A11:" & Range("A11").End(xlToRight).Address).SpecialCells(xlCellTypeVisible).Select
und es schlägt Fehler.
Was ist falsch?
Yori
Du schreibst als Anweisung eine absolute Adresse - bist Du Dir sicher, dass diese Zeile sichtbar ist?
Wenn ich dies mit einer sichtbaren Zeile mache, funktioniert Dein Code; eine durch Autofilter ausgeblendete Zeile löst einen Fehler aus: keine Zeile gefunden...
cu
jinx
Genau dort ist mein Problem - "A11" ist nach Autofilter nicht sichtbar. Was ich möchte ist die 11. Zeille der gefilteten Tabelle zu markieren.
Wie soll das Code in diesem Fall aussehen?
Yori
zum Beispiel so; hier wird die Zeilennummer angegeben:Sub Test()
Code eingefügt mit Syntaxhighlighter 1.14
' Überprüft den Bereich A2:A100
Wert = 1
Set Daten = Range(Cells(2, 1), Cells(100, 1))
For Each Zeile In Daten.Rows
If Zeile.Hidden = False Then Wert = Wert + 1
' Da sich der Zellzeiger sonst in der Vorzeile befindet
If Wert = 11 Then Suchwert = Zeile.Row + 1
Next
MsgBox "Der Wert der gesuchten Zeile ist: " & Suchwert
End Sub
Die Überschrift meiner Tabelle ist im Bereich A10:H10.
Nach dem Autofilter, will ich einen Teil der 1.Zeile des Ergebnis - das heisst, es kann A25:G25 oder A130:G130 usw. sein - kopieren nach I2:I8. Gleichzeitig sollen die Colomn A:G ausgeblendet werden.
Dein Code war Essential für Lösung meines Problems! Selbstverständlich musste ich es ein wenig anpassen, aber jetzt, mein Wunsch ist völlig realisiert. Und zwar so;
Sub Test()
' Überprüft den Bereich A2:A100
Wert = 1
Set Daten = Range(Cells(1, 1), Cells(10000, 1))
For Each Zeile In Daten.Rows
If Zeile.Hidden = False Then Wert = Wert + 1
' Da sich der Zellzeiger sonst in der Vorzeile befindet
If Wert = 11 Then Suchwert = Zeile.Row + 1
Next
' MsgBox "Der Wert der gesuchten Zeile ist: " & Suchwert
Range("A1").Select
Selection.Offset(Suchwert, 0).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Range("I2").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=True
Application.CutCopyMode = False
Columns("A:G").Select
Selection.EntireColumn.Hidden = True
Range("I9").Select
Selection.Clear
Range("A1").Select
End Sub
Ohne deine Hilfe hätte ich das Problem nicht lösen können.
Vielen herzlichen Dank!
Yori