Θέμα: Μορφοποίηση Μορφοποίηση σε νόμισμα

Εμφάνιση ενός μόνο μηνύματος
  #4  
Παλιά 08-03-14, 04:16
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Γιώργο στο συνημμένο παράδειγμα υπάρχουν δύο προσεγγίσεις που καλύπτουν το ζητούμενο

Στο φύλλο Περιοχές κελιών υπάρχουν περιοχές (με κίτρινο φόντο) στις οποίες έχουν δοθεί τα ονόματα : NameOfRange1, NameOfRange2, NameOfRange3, NameOfRange4 και NameOfRange5.
Ο κώδικας που επιτρέπει την εισαγωγή υποδιαστολής είναι:

Κώδικας:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim CanRun As Boolean
    If Target.CountLarge > 1 Then Exit Sub
    If Target.Row < 1 Then Exit Sub
    If IsNumeric(Target.Value) Then
        If Target.Value <> 0 Then
            If Not Intersect(Target, Range("NameOfRange1")) Is Nothing Or _
               Not Intersect(Target, Range("NameOfRange2")) Is Nothing Or _
               Not Intersect(Target, Range("NameOfRange3")) Is Nothing Or _
               Not Intersect(Target, Range("NameOfRange4")) Is Nothing Or _
               Not Intersect(Target, Range("NameOfRange5")) Is Nothing Then
                Application.EnableEvents = False
                Target.Value = Target.Value / 100
                Application.EnableEvents = True
            End If
        End If
    End If
End Sub
Στο φύλλο Διευθύνσεις κελιών υπάρχουν μεμονωμένα κελιά (επίσης με κίτρινο φόντο για καλύτερη σήμανση) με διευθύνσεις: "A3", "B4", "C5", "D8", "D10" και "D15"
Ο κώδικας που επιτρέπει την εισαγωγή υποδιαστολής στο φύλλο αυτό είναι:
Κώδικας:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.CountLarge > 1 Then Exit Sub
    If Target.Row < 1 Then Exit Sub
    If IsNumeric(Target.Value) Then
        If Target.Value <> 0 Then
            Select Case Target.Address(False, False)
                Case "A3", "B4", "C5", "D8", "D10", "D15"
                    Application.EnableEvents = False
                    Target.Value = Target.Value / 100
                    Application.EnableEvents = True
            End Select
        End If
    End If
End Sub
Καλή συνέχεια!

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm xlInsertDecimals.xlsm (19,2 KB, 17 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση