ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [Μορφοποίηση] Μορφοποίηση σε νόμισμα

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 07-03-14, 18:39
Όνομα: ΓΙΩΡΓΟΣ
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-02-2010
Μηνύματα: 33
Προεπιλογή Μορφοποίηση σε νόμισμα

Γεια σας. Μήπως υπάρχει τρόπος γράφοντας στο κελί ένα ποσό παραλείποντας το κόμμα (,) και να το παίρνει αυτόματα? Παράδειγμα : Θέλω να γράφω στο κελί 15434 και να πατάω enter και αυτό να μου γράφει αυτόματα 154,34 €

Βοήθεια ?
Ευχαριστώ εκ των προτέρων
Απάντηση με παράθεση
  #2  
Παλιά 07-03-14, 20:54
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.249
Προεπιλογή

Καλησπέρα Γιώργο!

Υπάρχει μια επιλογή (σε επίπεδο εφαρμογής όμως) που κάνει ακριβώς αυτό που ζητάς.

Πήγαινε στις επιλογές του Excel > Για προχωρημένους και τσέκαρε το πλαίσιο ελέγχου με την ετικέτα: Αυτόματη εισαγωγή υποδιαστολής.

Προσοχή! Η επιλογή της Αυτόματης εισαγωγής υποδιαστολής ισχύει για όλα βιβλία που θα ανοιχτούν.

Μια άλλη λύση θα ήταν η χρήση κώδικα VBA με την προϋπόθεση ότι οι μακροεντολές στην εφαρμογή θα πρέπει να είναι ενεργοποιημένες.

Επίσης η λύση με VBA ακυρώνει τη δυνατότητα αναίρεσης ενεργειών του βιβλίου εργασίας.

Αν καταλήξεις ότι θέλεις να χρησιμοποιήσεις VBA τότε κάνε δεξί κλικ στην καρτέλα του φύλλου που σε ενδιαφέρει και επίλεξε "Προβολή κώδικα".

Στο παράθυρο που θα εμφανιστεί επικόλλησε τον παρακάτω κώδικα:

Κώδικας:
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
        Select Case Target.Column
        'Προσάρμοσε παρακάτω τα νούμερα των στηλών
        'όπου θα εφαρμόζεται η εισαγωγή υποδιαστολής.
            Case 2, 3, 4, 5, 6, 7  '<---τα νούμερα των στηλών
                Application.EnableEvents = False
                Target.Value = Target.Value / 100
                Application.EnableEvents = True
        End Select
    End If
End Sub
Ο κώδικας αυτός τρέχει αυτόματα κάθε φορά που θα αλλάξει η τιμή ενός κελιού στις
στήλες 2, 3, 4, 5, 6, 7 και μετά την πρώτη γραμμή.

Μπορείς να προσθέσεις ή να αφαιρέσεις νούμερα στηλών στον κώδικα διατηρώντας πάντα την σύνταξη όπως φαίνεται παραπάνω.

Μορφοποίησε τις στήλες με μορφή αριθμού "νομισματική μονάδα"
.
Καλή συνέχεια!

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 07-03-14 στις 21:07.
Απάντηση με παράθεση
  #3  
Παλιά 07-03-14, 23:26
Όνομα: ΓΙΩΡΓΟΣ
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-02-2010
Μηνύματα: 33
Smile

Παράθεση:
Αρχική Δημοσίευση από Tasos Εμφάνιση μηνυμάτων
Καλησπέρα Γιώργο!

Υπάρχει μια επιλογή (σε επίπεδο εφαρμογής όμως) που κάνει ακριβώς αυτό που ζητάς.

Πήγαινε στις επιλογές του Excel > Για προχωρημένους και τσέκαρε το πλαίσιο ελέγχου με την ετικέτα: Αυτόματη εισαγωγή υποδιαστολής.

Προσοχή! Η επιλογή της Αυτόματης εισαγωγής υποδιαστολής ισχύει για όλα βιβλία που θα ανοιχτούν.

Μια άλλη λύση θα ήταν η χρήση κώδικα VBA με την προϋπόθεση ότι οι μακροεντολές στην εφαρμογή θα πρέπει να είναι ενεργοποιημένες.

Επίσης η λύση με VBA ακυρώνει τη δυνατότητα αναίρεσης ενεργειών του βιβλίου εργασίας.

Αν καταλήξεις ότι θέλεις να χρησιμοποιήσεις VBA τότε κάνε δεξί κλικ στην καρτέλα του φύλλου που σε ενδιαφέρει και επίλεξε "Προβολή κώδικα".

Στο παράθυρο που θα εμφανιστεί επικόλλησε τον παρακάτω κώδικα:

Κώδικας:
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
        Select Case Target.Column
        'Προσάρμοσε παρακάτω τα νούμερα των στηλών
        'όπου θα εφαρμόζεται η εισαγωγή υποδιαστολής.
            Case 2, 3, 4, 5, 6, 7  '<---τα νούμερα των στηλών
                Application.EnableEvents = False
                Target.Value = Target.Value / 100
                Application.EnableEvents = True
        End Select
    End If
End Sub
Ο κώδικας αυτός τρέχει αυτόματα κάθε φορά που θα αλλάξει η τιμή ενός κελιού στις
στήλες 2, 3, 4, 5, 6, 7 και μετά την πρώτη γραμμή.

Μπορείς να προσθέσεις ή να αφαιρέσεις νούμερα στηλών στον κώδικα διατηρώντας πάντα την σύνταξη όπως φαίνεται παραπάνω.

Μορφοποίησε τις στήλες με μορφή αριθμού "νομισματική μονάδα"
.
Καλή συνέχεια!

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

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

Στο φύλλο Περιοχές κελιών υπάρχουν περιοχές (με κίτρινο φόντο) στις οποίες έχουν δοθεί τα ονόματα : 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
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #5  
Παλιά 08-03-14, 12:35
Όνομα: ΓΙΩΡΓΟΣ
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-02-2010
Μηνύματα: 33
Προεπιλογή

Τέλεια !!

Ευχαριστώ για τον χρόνο που αφιερώσατε να με βοηθήσετε

Ότι ήθελα
Απάντηση με παράθεση
  #6  
Παλιά 08-03-14, 13:24
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.249
Προεπιλογή

Να είσαι καλά Γιώργο!

Καλή συνέχεια!

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] Υπολογισμός στεγαστικού δάνειου σε ξένο νόμισμα pantnt30 Excel - Ερωτήσεις / Απαντήσεις 21 17-11-19 10:12
[Μορφοποίηση] μορφοποιηση υπο ορους ευη79 Excel - Ερωτήσεις / Απαντήσεις 6 01-12-14 18:23
[ Εκθέσεις ] Μορφοποιηση Εκθεσης stelianta Access - Ερωτήσεις / Απαντήσεις 2 08-02-12 07:44
Μορφοποίηση υπό όρους Χρήστος Access - Ερωτήσεις / Απαντήσεις 3 06-02-12 21:49
[Μορφοποίηση] Μορφοποιηση αριθμου Chris Excel - Ερωτήσεις / Απαντήσεις 6 10-01-10 18:25


Η ώρα είναι 02:56.