
19-01-22, 08:14
|
| Όνομα: Κώστας Έκδοση λογισμικού Office: Ms-Office 2016 Γλώσσα λογισμικού Office: Ελληνική | | Εγγραφή: 16-03-2015
Μηνύματα: 151
| |
Καλημέρα σε όλο το forum.
Ψάχνοντας στο διαδίκτυο να βρω ιδέες για να λύσω το θέμα μου κατέληξα στον παρακάτω κώδικα:
"Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim WS_Count As Integer
Dim I As Integer
WS_Count = ActiveWorkbook.Worksheets.Count
For I = 1 To WS_Count
If Application.Sheets(I).Range("S22").Value > 18.5 Then
Cancel = True
MsgBox "Η αποθήκευση ακυρώθηκε." & Chr(13) & "Ο μέσος όρος βαθμολογίας στο μάθημα" & Chr(13) & "είναι πολύ υψηλός." & Chr(13) & "Παρακαλώ επανεξετάστε τους βαθμούς σας." & Chr(13) & "Εκ της Διευθύνσεως."
End If
Next I
End Sub"
Σε κάποιες δοκιμές που έχω κάνει φαίνεται να δουλεύει όπως πρέπει.
Η μόνη περίπτωση που παρατήρησα να έχει πρόβλημα είναι όταν δεν υπάρχουν βαθμοί στο φύλλο εργασίας - άρα δεν υπάρχει και μέσος όρος - οπότε δεν αφήνει το βιβλίο εργασίας να αποθηκευτεί. Ενώ λογικά θα έπρεπε, αφού η τιμή του κελιού που ελέγχει ο κώδικας είναι κάτω από 18,5 (στην πραγματικότητα δεν υπάρχει τιμή στο κελί αυτό).
Μήπως κάποιος μπορεί να βοηθήσει να ξεπεράσουμε αυτό το τελευταίο θέμα;
Ευχαριστώ πολύ.
|