Telefonszámunk: 1-472-0679

Hozzászólás: excel makró munkakezdés

Kezdőlap Fórumok Excel programozás excel makró munkakezdés Hozzászólás: excel makró munkakezdés

#2444
horvimi
Adminisztrátor

    Szia!

    A változók (kezdes és vege) string típusok.
    A vege változót lehet „off”-ra vizsgálni. Tehát elég, ha csak ennyit teszel, és ha a 4. oszlopba „off” kerül, akkor mellé egy nullát tesz, különben lefut a munkaidő számítás.

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim kezdes As String
    Dim vege As String
    Dim perce As Integer
        kezdes = Cells(Target.Row, 3).Value
        vege = Cells(Target.Row, 4).Value
        If Target.Column = 4 Then
            If vege = "off" Then
                Cells(Target.Row, 5).Value = 0
            Else
                perce = CInt(Minute(CDate(vege)))
                Select Case perce
                    Case 0, 30
                        Cells(Target.Row, 5).Value = (vege - kezdes) * 24
                    Case 1 To 59
                        Cells(Target.Row, 5).Value = WorksheetFunction.RoundUp((vege - kezdes) * 24 / 0.5, 0) * 0.5
                End Select
            End If
        End If
    End Sub
    

    A bolondállóság azt jelenti, hogy mennyire vizsgáljuk, hogy a felhasználó valóban helyes formátumú, intervallumú adatot írt be. Ha mások is használják, akkor ezt jobban szoktuk ellenőrizni, hogy ne adjon az első tévedésnél runtime hibát, vagy egyéb hibás működést.

    Ezt a szintet neked kell eldönteni. Ez a kis progi most nem túl bonyolult, simán el lehet magyarázni, hogy hogy kell használni, és mi lesz ha nem jót ír be.

    Lehetne vizsgálni mindkét oszlopban, hogy egyáltalán időt írt-e be, ezek hogy viszonyulnak egymáshoz (pl. a vége később van-e, mint az eleje), stb…

    Imre

    • A hozzászólás módosításra került: 8 years, 9 months telt el-horvimi.