
02-02-14, 15:15
|
 | Συντονιστής Όνομα: Σπύρος Τσιλιγιάννης Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική | | Εγγραφή: 22-11-2011 Περιοχή: Αθήνα
Μηνύματα: 2.321
| |
Και μια ολοκληρωμένη πρόταση με στοιχεία του πιο πάνω κώδικα αλλά και επιπλέον ελέγχους Κώδικας: Private Sub Worksheet_Change(ByVal Target As Range)
'Ονομασία περιοχής G2:G20 = rngData
'Ονομασία κελιού A1 = CheckCell
'Ονομασία της κεφαλίδας κελί G1 = Header
'Έλεγχος αν επιλέξουμε την κεφαλίδα από λάθος
If Target.Row = Range("Header").Row Then Exit Sub
'Έλεγχος αν επιλέξουμε περισσότερα του ενός κελιά από λάθος
If Target.Cells.Count > 1 Then Exit Sub
'Έλεγχος αν επιλέξουμε κελί της περιοχής με τιμή (όχι κενό)
If Target <> vbNullString Then
Αν όλα Ok τότε
'Αν η επιλογή είναι "μέσα" στην περιοχή rngData
If Not Intersect(Target, Range("rngData")) Is Nothing Then
'και έχουμε αριθμό ενώ ΤΑΥΤΌΧΡΟΝΑ το A1 δεν έχει αριθμό ή έχει μηδενικό μήκος
If IsNumeric(Target) And _
(Not IsNumeric(Range("CheckCell")) Or Len(Range("CheckCell")) = 0) Then
'Τότε μήνυμα
MsgBox ("Έχετε πληκτρολογήσει αριθμητική τιμή" & vbLf & _
"και το κελί A1 δεν περιέχει αριθμό." & vbLf & _
"Παρακαλώ δοκιμάστε ξανά."), vbInformation, "Spirosgr_INFO!"
End If
End If
End If
End Sub
|