Avatar billede frederikschack Nybegynder
25. februar 2009 - 13:48 Der er 6 kommentarer og
1 løsning

AutoFilter i VBA

Nedenstående kode virker, de første gange man kører det, men herefter kommer den med fejlen "Metoden AutoFilter for klassen Range mislykkedes."

    baneNr = Sheets("Opsætning").Cells(1, 2)
    kmFra = Sheets("Opsætning").Cells(2, 2)
    kmTil = Sheets("Opsætning").Cells(3, 2)
   
    Sheets("Bevokset").Activate
    If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
    Selection.AutoFilter Field:=9, Criteria1:=baneNr
    Selection.AutoFilter Field:=5, Criteria1:=">" & kmFra
    Selection.AutoFilter Field:=7, Criteria1:="<" & kmTil
   
    Sheets("Støjskærme").Activate
    If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
    Selection.AutoFilter = True
    Selection.AutoFilter Field:=9, Criteria1:=baneNr
    Selection.AutoFilter Field:=5, Criteria1:=">" & kmFra
    Selection.AutoFilter Field:=6, Criteria1:="<" & kmTil

Fejlen opstår når jeg sætter kriterierne f.eks. "Selection.AutoFilter Field:=9, Criteria1:=baneNr"
Avatar billede frederikschack Nybegynder
25. februar 2009 - 14:06 #1
VBA = gylle
Avatar billede frederikschack Nybegynder
25. februar 2009 - 14:22 #2
Nu virker nedenstående linier heller ikke:
Sheets("Bevokset").Activate
if ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
Avatar billede frederikschack Nybegynder
25. februar 2009 - 14:44 #3
Nu virker

Sheets("Bevokset").Activate
if ActiveSheet.FilterMode Then ActiveSheet.ShowAllData

igen,

men resten virker ikke........
Avatar billede frederikschack Nybegynder
25. februar 2009 - 14:53 #4
Nu virker det her heller ikke, det har ellers hele tiden virket:

Function countFilledRows(ReadSheet As String, countColumn As Integer)

    y = 1
   
    Do While (Worksheets(ReadSheet).Cells(y, countColumn) <> "")
        y = y + 1
    Loop
    countFilledRows = y - 1

End Function
Avatar billede frederikschack Nybegynder
25. februar 2009 - 14:58 #5
Nu virker

Function countFilledRows(ReadSheet As String, countColumn As Integer)

    y = 1
   
    Do While (Worksheets(ReadSheet).Cells(y, countColumn) <> "")
        y = y + 1
    Loop
    countFilledRows = y - 1

End Function

igen!!!

VBA stinker
Avatar billede frederikschack Nybegynder
26. februar 2009 - 09:42 #6
Svaret må være ikke at sætte filtrene med VBA
Avatar billede frederikschack Nybegynder
02. marts 2009 - 10:23 #7
Opdatering.

Jeg kunne ikke finde ud af Excel's Autofilter og sortering, men det kan Excel tilsyneladende heller ikke selv.

Når jeg indspiller en makro med sortering af en tabel, så virker makroen ikke efterfølgende, dumpekarakter til Microsoft.
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
Kurser inden for grundlæggende programmering

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