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

Καλησπέρα
Ο κώδικας στο προηγούμενο μήνυμά μου(#2) περιέχει μία λογική μεταβλητή, που θα μπορούσε να αφαιρεθεί.
Στον παρακάτω κώδικα, που κάνει την ίδια δουλειά, αφαίρεσα αυτή τη μεταβλητή προσθέτοντας και παγίδευση σφαλμάτων.
Κώδικας:
Private Sub Worksheet_Change(ByVal Target As Range)
    'Στο Module1 θα πρέπει να υπάρχει η δήλωση: Public x As Variant
    On Error GoTo ErrTrap
    If Application.Intersect(Target, Range("A1:CV100")) Is Nothing Then Exit Sub
    
    If Target.Cells.Count = 1 Then
        If Not IsEmpty(Target.Value) And IsNumeric(Target.Value) Then
            If Not IsEmpty(x) Then
                If IsNumeric(x(Target.Row, Target.Column)) Then
                    Application.EnableEvents = False
                    Target.Value = x(Target.Row, Target.Column) + Target.Value
                End If
            End If
        End If
    End If
    x = Range("A1:CV100")
ExitSub:
    Application.EnableEvents = True
    Exit Sub
ErrTrap:
    GoTo ExitSub
End Sub
Το αρχείο «ΚαταχώρησηΣυμβάντων2.xsl», με το οποίο αντικατέστησα το συνημμένο στο προηγούμενο μήνυμα, χρησιμοποιεί το νέο κώδικα.

Φιλικά/Γιώργος
Απάντηση με παράθεση