Avatar billede CoolkeyDk Nybegynder
01. juli 2014 - 09:16 Der er 1 løsning

Søg i

Hej

Jeg har følgende data i et excel regneark (lille udsnit, normalt mellem 3.500 og 3.800 linier):

Tur Butik Start  Slut  Klar
1  1    08:00  10:00  TRUE
1  22    10:00  11:00  TRUE
1  43    11:00  13:00  FALSE
2  4    05:15  07:15  TRUE
2  11    07:15  10:30  TRUE
2  69    10:30  12:00  TRUE
3  8    08:00  09:30  FALSE
3  19    09:30  10:45  TRUE
3  90    10:45  12:00  TRUE

Når jeg så laver et filter og kun søger på Tur = 2, får jeg disse data:

Tur Butik Start  Slut  Klar
2  4    05:15  07:15  TRUE
2  11    07:15  10:30  TRUE
2  69    10:30  12:00  TRUE

Nu vil jeg gerne søge på de valgte data, om disse butikker er klar (feltet Klar).

Når jeg laver følgende VBA kode og søger, søger den åbenbart fra toppen:

Sub FindTur()

    Dim strAntal As Integer

    ActiveSheet.Range("$A$1:$E$10").AutoFilter Field:=1, Criteria1:="2"

    Range("E1").Select
    ActiveCell.Offset(1, 0).Select
    Do Until IsEmpty(ActiveCell)
        If ActiveCell.Value = False Then
            MsgBox "Tur ikke færdig. Stoppet ved butik nr.: " & ActiveCell.Offset(0, -3)
            Exit Sub
        End If
        strAntal = strAntal + 1
        ActiveCell.Offset(1, 0).Select
    Loop
    MsgBox "Der var " & strAntal & " butik(ker)."
End Sub

Den stopper så ved butik 43 (linie 3). Men ville gerne have min kode til at søge i de valgte data. Hvad gør jeg galt ?

Brian
Avatar billede supertekst Ekspert
01. juli 2014 - 11:49 #1
Sub FindTur()
    Dim strAntal As Integer, række As Integer, skjult As Boolean

    ActiveSheet.Range("$A$1:$E$10").AutoFilter Field:=1, Criteria1:="2"

    Range("E1").Select
    ActiveCell.Offset(1, 0).Select
       
    Do Until IsEmpty(ActiveCell)
   
        række = ActiveCell.Row
        skjult = ActiveSheet.Rows(x).Hidden
   
        If ActiveCell.Value = False And skjult = False Then
            MsgBox "Tur ikke færdig. Stoppet ved butik nr.: " & ActiveCell.Offset(0, -3)
            Exit Sub
        End If
        strAntal = strAntal + 1
        ActiveCell.Offset(1, 0).Select
    Loop
    MsgBox "Der var " & strAntal & " butik(ker)."
End Sub
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

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