12. august 2014 - 08:10Der er
9 kommentarer og 1 løsning
Skjule en række ud fra cellefarve
Er det muligt at skjule en række ud fra en bestemt farve? Det virker fint, hvis det er et tal, men hvordan skal det se ud, hvis det skal være i forhold til en bestemt farve? Jeg vil gerne have skiftet ">= 1 Then" ud med "Color = 16767341"
With ActiveSheet .Rows("3:100").Hidden = False For lRow = .UsedRange.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1 If .Cells(lRow, 8) >= 1 Then .Cells(lRow, 8).EntireRow.Hidden = True End If Next End With
Sub test() With ActiveSheet .Rows("3:100").Hidden = False For lRow = .UsedRange.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1 If .Cells(lRow, 8).Interior.Color = 16767341 Then .Cells(lRow, 8).EntireRow.Hidden = True End If Next End With End Sub
Det virker perfekt - tak for det. Men jeg troede at jeg kunne bruge det sammen med en betinget formatering der farvelægger cellerne, hvis forskellige betingelser er opfyldt. Så nu mangler jeg noget vba der kan farvelægge en celle hvis disse betingelser er opfyldt. Hvis K2 = M2 så skal cellen farves
If Range("K2") = Range("M2") Then .Cells(lRow, 8).Interior.Color = 16767341 End If
With ActiveSheet .Rows("3:100").Hidden = False For lRow = .UsedRange.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1 If .Cells(lRow, 8).Interior.Color = 16767341 Then .Cells(lRow, 8).EntireRow.Hidden = True End If Next End With
With og .Cells hører sammen - ovenfor er With ActiveSheet under .Cells . er udtryk for det du skriver efter With
Sub test() With ActiveSheet .Rows("3:100").Hidden = False For lRow = .UsedRange.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1 If Range("K2") = Range("M2") Then .Cells(lRow, 8).Interior.Color = 16767341 End If If .Cells(lRow, 8).Interior.Color = 16767341 Then .Cells(lRow, 8).EntireRow.Hidden = True End If Next End With End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.