Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1796to1800
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
Inhaltsverzeichnis

Sichtbare Zellen selektieren

Sichtbare Zellen selektieren
08.12.2020 12:01:32
Ceeel
Guten Tag,
ich setze mit einem Autofilter diverse Kritieren auf meine Tabelle, bestimme dann die letzte Zeile und selektiere nur die sichtbaren, um diese farbig hervorzuheben.
Wenn nach meinem Filter nur 1 Objekt über bleibt, dann wird komischerweise alles selektiert und nicht nur A2 bis A2.
Habe ich hier einen Denkfehler oder muss ich noch eine If einbauen falls lastrow = 1 ist?
With Sheets(1).Range("A1:P1")
.AutoFilter Field:=12, Criteria1:=Array("Rot", "Blau"), Operator:=xlFilterValues
End With
lastRow = Range("F" & Rows.Count).End(xlUp).Row
' Selektiere nur die sichtbare
Range("F2:F" & lastRow).SpecialCells(xlCellTypeVisible).Select
' Färbe die selektierten blau
With Selection.Interior
.Color = 1
End With
Vielen Dank!

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

Betreff
Datum
Anwender
Anzeige
AW: Sichtbare Zellen selektieren
08.12.2020 12:21:00
Daniel
Hi
du musst berücksichtigen, dass bei Aktionen, bei denen eine Auswahl getroffen wird, eine einzelne Zelle als zu durchsuchender Zellbereich nicht sinnvoll ist.
Excel erweitert dann automatisch auf das ganze Blatt, wenn du bei solchen Aktionen nur eine einzige Zelle als Ausgangswert angibst.
Das passiert u.A. beim Suchen und Ersetzen, und auch bei SpecialCells.
das Problem hierbei ist, dass das End(xlup) die ausgeblendeten Zellen überspringt.
und wenn es in der 2 landet, hast du nur eine Zelle als Ausgangszellbereich.
wenn du den Filter im gleichen Makro erst aktivierst, könntest du das lastRow vorher bestimmen, so dass du auf jeden Fall das ende der Tabelle triffst.
ich würde auch die Zeile 1 hier mitnehmen und hinterher wieder zurückfärben, einfach damit du keinen Fehler bekommst, wenn der Filter nichts findet.
Das .SpecialCells reagiert immer mit einem Fehlerabbruch, wenn es keine Zellen finden kann und beim Auitofilter wäre die Überschriftenzeile ja immer sichtbar.
Gruß Daniel
Anzeige
AW: Sichtbare Zellen selektieren
08.12.2020 12:32:20
Werner
Hallo,
teste mal:
With Sheets(1).Range("A1:P1")
.AutoFilter Field:=12, Criteria1:=Array("Rot", "Blau"), Operator:=xlFilterValues
With .AutoFilter.Range
.Offset(1).Resize(.Rows.Count - 1).Interior.Color = 1
End With
End With
Gruß Werner
AW: Sichtbare Zellen selektieren
08.12.2020 12:56:14
GerdL
Moin
Sub Unit()
Dim x As Long
With Sheets(1)
With .AutoFilter.Range
For x = 2 To .Rows.Count
If .Parent.Cells(x, 1).RowHeight > 0 Then
.Parent.Cells(x, 1).Resize(1, .Columns.Count).Interior.Color = vbYellow
End If
Next
End With
End With
End Sub

Gruß Gerd
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige