|
| Autofilter i Excel 2003 Fra : Flemming_Clausen | Vist : 1062 gange 200 point Dato : 06-10-12 20:16 |
|
Hjælp
Jeg skal have et autofilter til "pakke" nogle sider sammen. Men jeg er ikke så stærk i løkker.
Problemet er at jeg ved ikke hvor mange S-ark der kommer dog max 20. Det er kun det ark S der er fra start, derefter bliver ark S2 kopieret.
Denne virker indtil jeg kommer ned FOR kommandoen
ActiveWindow.ScrollWorkbookTabs Position:=xlLast
Sheets("Forside").Select
Selection.AutoFilter Field:=1, Criteria1:="<>"
Sheets("S").Select
Selection.AutoFilter Field:=1, Criteria1:="<>"
For Z = 1 To Sheets.Count
Q = Sheets(Z).Name
If Mid(Q, 1, 1) = "S" And IsNumeric(Mid(Q, 2)) Then
Sheets(Z).Selection.AutoFilter Field:=1, Criteria1:="<>"
End If
Next
| |
| Accepteret svar Fra : ajuul | Modtaget 200 point Dato : 07-10-12 08:49 |
|
Hej Flemming.
Du mangler at lave en Select før du sætter filtreret.
Ellers vil du blot udføre filtreringen på det ark du stod på, da du datter makroen i gang:
Kode If Mid(Q, 1, 1) = "S" And IsNumeric(Mid(Q, 2)) Then
Sheets(Z).Select
Sheets(Z).Selection.AutoFilter Field:=1, Criteria1:="<>"
End If |
I øvrigt kan du bruge Q i stedet for Z, når du bruger funktionen Sheets(), men det er underordnet.
Sidst men ikke mindst kan du spare et gennemløb i din FOR-sætning ved at skrive
Kode For Z=2 to Sheets.Count |
Det kræver dog at arkene ligger i rækkefølgen Forside, S, S1, S2 ...
Årsagen er, at arket »Forside« har nummer nul, og ark »S« har nummer ét, og den har du allerede sat inden For-løkken.
/ajuul
| |
|
Tak for svaret ajuul.
Det er rart med en ledetråd, Sheets(Z) skulle heller ikke være i linien med autofilter.
For Z = 1 To Sheets.Count
Q = Sheets(Z).Name
If Mid(Q, 1, 1) = "S" And IsNumeric(Mid(Q, 2)) Then
Sheets(Z).Select
Selection.AutoFilter Field:=1, Criteria1:="<>"
End If
Next
NU virker det
| |
| Kommentar Fra : ajuul |
Dato : 08-10-12 08:17 |
|
Hej Flemming.
Nej, det er korrekt - Sheets(Z) og Selection går ikke her.
| |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|