Hirdetés

Új hozzászólás Aktív témák

  • föccer

    nagyúr

    Erő, egészség!

    Van némi zavar az erőben, kérlek segítsétek kibogozni.

    Van egy munkafüzet, két munkalappal. Tulajdonságok munkalap tartalmazza az alap adatokat, vizsgálati eredményeket, a segédszámítások pediglen a kiértékelést. Utóbbiban beállíthatóak azok a paraméterek, amelyek alapján a kiértékelést el akarom készíteni

    Minden paraméter választható lista, kivétel a mintavétel eleje és vége, amelyre adatérvényesítés van megadva. A tulajdonságokban az egyes adatsorok feltöltésénél szintén listából választható a paraméter, így elgépelés esete nem állhat fenn.

    A képen látható Talált vizsgálatok értéke a fenti paraméterek alapján, darabhatöbb() függvénnyel megtalált vizsgálati sorok számát adja meg.

    Készítettem egy makrót, ami a közvetlenül a tulajdonság munkalapon állítja be az autofiltert az adott paraméterekre (erre azért van szükség, mert az adott vizsgálati halmaz minimum és maximum értékeire is szükségem van, így a Tulajdonság munkalapon használnom kell az összesítés() függvényt is).

    Sub Szurofeltetel_alk()
    '
    ' Szurofeltetel_alk Makró
    '

    '

    With Sheets("Tulajdonságok")
    If .AutoFilterMode Then
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=1
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=2
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=3
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=4
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=5
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=6
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=7
    Else
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter
    End If
    End With

    If Sheets("Segédszámítások").Range("C3").Value = "" Then
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=1
    Else
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=1, Criteria1:=">=" & Sheets("Segédszámítások").Range("C3").Value, Criteria2:="<=" & Sheets("Segédszámítások").Range("D3").Value
    End If

    If Sheets("Segédszámítások").Range("C4").Value = "" Then
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=2
    Else
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=2, Criteria1:=Sheets("Segédszámítások").Range("C4").Value
    End If

    If Sheets("Segédszámítások").Range("C5").Value = "" Then
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=3
    Else
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=3, Criteria1:=Sheets("Segédszámítások").Range("C5").Value
    End If

    If Sheets("Segédszámítások").Range("C6").Value = "" Then
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=4
    Else
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=4, Criteria1:=Sheets("Segédszámítások").Range("C6").Value
    End If

    If Sheets("Segédszámítások").Range("C7").Value = "" Then
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=5
    Else
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=5, Criteria1:=Sheets("Segédszámítások").Range("C7").Value
    End If

    If Sheets("Segédszámítások").Range("C8").Value = "" Then
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=6
    Else
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=6, Criteria1:=Sheets("Segédszámítások").Range("C8").Value
    End If

    If Sheets("Segédszámítások").Range("C9").Value = "" Then
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=7
    Else
    Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=7, Criteria1:=Sheets("Segédszámítások").Range("C9").Value
    End If

    End Sub

    Ez gyönyörű szépen is működik minden esetben, kivéve a dátum esetében. A makró pontosan beállítja a szűrőfeltételt, amit az helyen két érték közöttinek értelmez is ahogy kell. Viszont az autoszűrő úgy veszi át a dátum paramétert, hogy a szűrőfeltételekben a végén van egy pont.

    Erre viszont az autoszűrő már nem ad találatot, mert az csak pont nélkül eszi meg a dátum adatokat.

    Ha nem adok meg dátum paramétert, akkor nyilván hibátlanul működik.

    Mi lehet a megoldás?

    Köszi, FG

Új hozzászólás Aktív témák

Hirdetés