Θέμα: VBA msgBox Μήνυμα

Εμφάνιση ενός μόνο μηνύματος
  #11  
Παλιά 02-02-14, 15:15
Το avatar του χρήστη Spirosgr
Spirosgr Ο χρήστης Spirosgr δεν είναι συνδεδεμένος
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού 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
Απάντηση με παράθεση