Εμφάνιση ενός μόνο μηνύματος
  #7  
Παλιά 08-07-15, 00:18
kapetang Ο χρήστης kapetang δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Κώστα χρειάζεται στρογγυλοποίηση.

Είναι δύσκολο να δημιουργηθεί ένας τύπος λαμβάνοντας υπόψη μας και τις στρογγυλοποιήσεις.

Για το λόγο αυτό προτείνω μια λύση με κώδικα VBA.

1) Θα πρέπει να αντιγράψεις την παρακάτω συνάρτηση σε μια μονάδα κώδικα (Module).
Κώδικας:
Public Function Expression(T As Variant) As Variant
    Dim O As Long, H As Long, m As Long, x As Double
    If Nz(T, "") <> "" Then
        O = Int(T / 8)
        x = T - CInt(O * 8)
        H = Int(x)
        m = CInt((x - H) * 60)
        If m >= 60 Then
            H = H + Int(m / 60)
            m = m Mod 60
            If H >= 8 Then
                O = O + Int(H / 8)
                H = H Mod 8
            End If
        End If
        Expression = O & " οκτάωρα, " & H & " ώρες, " & m & " λεπτά"
    End If
End Function
2) Στο πεδίο που θα εμφανίζεται η έκφραση πρέπει να βάλλεις τον τύπο: =Expression([H])

Τελευταία επεξεργασία από το χρήστη kapetang : 08-07-15 στις 09:32. Αιτία: Βελτίωση κώδικα
Απάντηση με παράθεση