05. oktober 2008 - 17:02Der er
5 kommentarer og 1 løsning
VBA spg?
Hej, Lige et hurtigt praktisk spg:
Hvis jeg har filter på A7:A11 og så skriver: Range("A7").select Hvordan kontrollere jeg så om det som er i filteret er tomt? jeg mener jeg kan jo ikke bare skrive c.offset(1,0).value da den så tager A8, men pga filter er det jo ikke sikkert at det er a8 som er indeholdt i det range som jeg pt vil søge på. Giver det mening? På forhånd Tak
Sub Makro2() Range("A7").Select If Rows(ActiveCell.Offset(1, 0).Row).Hidden = True Then MsgBox " den er skjult af filtret" Else ActiveCell.Offset(1, 0).Select End If End Sub
Her vælges den første, efter aktive celle, der ikke er filtreret væk.
Sub Makro2() Dim I As Long Range("A7").Select I = 0 Do I = I + 1 Loop Until Rows(ActiveCell.Offset(I, 0).Row).Hidden = False ActiveCell.Offset(I, 0).Select End Sub
det virker nogenlunde... dvs jeg er åbenbart dum. jeg skal nemlig foretage en kontrol på om filteret er tomt eller om de der er noget i cellerne under a7. Hvorfor jeg troede jeg kunne bruge ActiveCell.offset(I,0).address således jeg kunne gennem den i en string (lads os kalde den temp) og derved sige if temp = "", then goto n: else bla bla bla... men jeg kan ikke lige få den til at retunerer det første i filteret og ikke det sidste. det kan også være der er en smartere måde at gøre det på, ideer modtages gerne. JEg skal sådan set bare se om filteret indeholder noget eller om det er tomt. På forhånd tak, PS. Hvis jeg ikke for det løst for du point for dit svar alligevel da jeg jo burde kunne bruge det hvis jeg ikke bare var mindre begavet :-)
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.