Avatar billede tdh1309 Juniormester
19. november 2012 - 08:35 Der er 2 kommentarer og
1 løsning

VBA macro: størrelse filtreret range

Hej

Jeg har en simpel macro hvor jeg filtrerer på et worksheet, som nedenfor:
compareWS.Activate
    Cells.Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$O$291").AutoFilter Field:=4, Criteria1:=stateQualifier
    ActiveSheet.Range("$A$1:$O$291").AutoFilter Field:=6, Criteria1:=stateReason
    ActiveSheet.Range("$A$1:$O$291").AutoFilter Field:=8, Criteria1:=reasonQualifier
    ActiveSheet.Range("$A$1:$O$291").AutoFilter Field:=10, Criteria1:=reason

Mit problem er hvordan jeg på nemmeste hvis får antallet af rækker, efter at filtret er sat.
Avatar billede tdh1309 Juniormester
19. november 2012 - 09:12 #1
Jeg har tilpasset det således:

Set tmpRange = compareWS.Range(Cells(CompareSheetOffset, 1), Cells(maxRow, maxCol))
   
  tmpRange.AutoFilter Field:=4, Criteria1:=stateQualifier
  tmpRange.AutoFilter Field:=6, Criteria1:=stateReason
  tmpRange.AutoFilter Field:=8, Criteria1:=reasonQualifier
  tmpRange.AutoFilter Field:=10, Criteria1:=reason
  selectedRows = 0
  For iLoop = 1 To tmpRange.Rows.Count
    If tmpRange(iLoop, 1).Rows.Hidden = False Then
      selectedRows = selectedRows + 1
    End If
  Next

Nu kan jeg tælle, og problemet er løst - men kan det gøres bedre?
Avatar billede tdh1309 Juniormester
19. november 2012 - 09:28 #2
Hmm, og så er det filtret som ter sig !
Avatar billede tdh1309 Juniormester
19. november 2012 - 09:58 #3
Lukker, løsningen blev:

compareWS.Activate
  Set tmpRange = compareWS.Range(Cells(1, 1), Cells(maxRow, maxCol))
  tmpRange.Select
 
  tmpRange.AutoFilter Field:=4, Criteria1:=stateQualifier
  tmpRange.AutoFilter Field:=6, Criteria1:=stateReason
  tmpRange.AutoFilter Field:=8, Criteria1:=reasonQualifier
  tmpRange.AutoFilter Field:=10, Criteria1:=reason
  selectedRows = 0
  For iLoop = CompareSheetOffset To tmpRange.Rows.Count
    If tmpRange(iLoop, 1).Rows.Hidden = False Then
      selectedRows = selectedRows + 1
    End If
  Next
  Call RemoveFiltersAndHiddenRows(compareWS)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester