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

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 25-06-11, 00:23
Όνομα: φωτης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-01-2011
Μηνύματα: 29
Προεπιλογή Εισαγωγή αριθμού σε κελί

Καλησπέρα στην παρέα!

Ήθελα να ρωτήσω αν μπορώ να μορφοποιήσω κελί στο excel έτσι ώστε να μην χρειάζεται να πληκτρολογώ την υποδιαστολή όταν εισάγω αριθμούς.

π.χ. Έστω ο αριθμός 145,12 Να εφαρμόσω μορφοποίηση έτσι ώστε εισάγωντας "14512" στο κελί να καταχωρηθεί "145,12"
Στο κελί καταχωρούνται 6φιοι αριθμοί (+2 για τα δεκαδικά), οπότε θα ήθελα να αποφύγω ένα αποτέλεσμα της μορφής:
"000145,12"

Ευχαριστώ για τον χρόνο σας.
Απάντηση με παράθεση
  #2  
Παλιά 25-06-11, 02:12
Το avatar του χρήστη gr8styl
Super Moderator
Όνομα: Θανάσης Στυλιανίδης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-10-2009
Περιοχή: Βρυξέλλες, Βέλγιο
Μηνύματα: 823
Προεπιλογή

Φίλε Φώτη,
δες στο συνημμένο 3 διαφορετικούς τρόπους για να πετύχεις το ζητούμενο.

Πες μας τι έκανες και ποιόν από τους 3 επέλεξες.

Θανάσης
Συνημμένα Αρχεία
Τύπος Αρχείου: xls Fwtis1.xls (18,5 KB, 27 εμφανίσεις)
Απάντηση με παράθεση
  #3  
Παλιά 25-06-11, 17:17
Όνομα: φωτης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-01-2011
Μηνύματα: 29
Προεπιλογή

Φίλε Θανάση σε ευχαριστώ για την άμεση απάντηση!

Ο πρώτος τρόπος με εξυπηρετεί αλλά θα ήθελα να εμφανίζεται και το διαχωριστικό για τις χιλιάδες.
π.χ. εισαγωγή: "12345678" ---> μορφοποίηση: "123.456,78"

Σε ευχαριστώ για τον χρόνο σου!
Απάντηση με παράθεση
  #4  
Παλιά 25-06-11, 17:32
Όνομα: φωτης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-01-2011
Μηνύματα: 29
Προεπιλογή

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

Ο πρώτος τρόπος με εξυπηρετεί αλλά θα ήθελα να εμφανίζεται και το διαχωριστικό για τις χιλιάδες.
π.χ. εισαγωγή: "12345678" ---> μορφοποίηση: "123.456,78"

Σε ευχαριστώ για τον χρόνο σου!
Δοκίμασα αυτήν την μορφοποίηση: #"."##0","00
Το πρόβλημα που έχει είναι ότι όταν γίνεται εισαγωγή ενός αριθμού με λιγότερα από 4 ψηφία (μετά την υποδιαστολή) π.χ. "985,16" εμφανίζει στο κελί ".985,16"
Απάντηση με παράθεση
  #5  
Παλιά 25-06-11, 17:38
Όνομα: φωτης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-01-2011
Μηνύματα: 29
Προεπιλογή

Επειδή θέλω η μορφοποίηση να γίνεται στο κελί που γίνεται η εισαγωγή του αριθμού (και όχι σε άλλο κελί η εισαγωγή και σε άλλο κελί η μορφοποίηση), έχω την εντύπωση οτι μπορεί να γίνει μόνο με VBA.
Απάντηση με παράθεση
  #6  
Παλιά 25-06-11, 18:10
Όνομα: φωτης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-01-2011
Μηνύματα: 29
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από φωτης Εμφάνιση μηνυμάτων
Επειδή θέλω η μορφοποίηση να γίνεται στο κελί που γίνεται η εισαγωγή του αριθμού (και όχι σε άλλο κελί η εισαγωγή και σε άλλο κελί η μορφοποίηση), έχω την εντύπωση οτι μπορεί να γίνει μόνο με VBA.
Κάπως έτσι:

If Cell <1000 then Cellformat = "##0,00"
else Cellformat = "###.##0,00"

και θα πρέπει να εφαρμόζεται σε μια περιοχή κελιών π.χ. Α1:A29
Απάντηση με παράθεση
  #7  
Παλιά 25-06-11, 19:08
Το avatar του χρήστη gr8styl
Super Moderator
Όνομα: Θανάσης Στυλιανίδης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-10-2009
Περιοχή: Βρυξέλλες, Βέλγιο
Μηνύματα: 823
Προεπιλογή

Φίλε Φώτη,
θα συμφωνήσω ότι μόνο με VBA μπορείς να επιτύχεις το να είναι διαφορετικό το τι καταχωρεί ο χρήστης από το τι τελικά καταχωρήται στο κελί.

Εγώ θα το έκανα έτσι για την περιοχή A1:A29:
Κώδικας:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A29")) Is Nothing Then
    If (Target > 0 And Target.Value = Int(Target.Value)) Then
        Target.NumberFormat = "#,##0.00"
        Target.Value = Target.Value / 100
    End If
End If
End Sub
Κάνεις απλά επικόλληση στον κώδικα του φύλλου.

Θανάσης
Απάντηση με παράθεση
  #8  
Παλιά 25-06-11, 19:52
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.737
Προεπιλογή

Καλημέρα στην παρέα

Φώτη, αν κατάλαβα καλά θέλεις να καταχωρείς ακέραιους αριθμούς (πχ 12345678, 56, 1) αλλά να αποθηκεύεται το πηλίκο τους με το εκατό (πχ 123456,78 0,56 0,01).
Θέλεις επίσης στη μορφοποίηση να εμφανίζεται και το διαχωριστικό των χιλιάδων.
Στο αρχείο που επισυνάπτω (είναι το αρχείο με τις λύσεις που πρότεινε ο Θανάσης) έχω διαμορφώσει τη στήλη K ώστε να έχει αυτές τις ιδιότητες.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: xls Fwtis2.xls (38,5 KB, 28 εμφανίσεις)
Απάντηση με παράθεση
  #9  
Παλιά 25-06-11, 21:27
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.249
Προεπιλογή

Καλησπέρα σε όλους!

Μπορούμε ακόμα να ρυθμίσουμε προγραμματιστικά (με VBA) την Αυτόματη Εισαγωγή Υποδιαστολής και τις θέσεις της πριν από το τέλος του αριθμού όπως μας υπέδειξε ο Γιώργος.

Έτσι, στον κώδικα του βιβλίου έχουμε:

Κώδικας:
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    With Application
    .FixedDecimalPlaces = GetSetting("xlApp", "Settings", "FixedDecimalPlaces", 2)
    .FixedDecimal = GetSetting("xlApp", "Settings", "FixedDecimal", False)
    End With
End Sub

Private Sub Workbook_Open()
    With Application
        SaveSetting "xlApp", "Settings", "FixedDecimalPlaces", .FixedDecimalPlaces
        SaveSetting "xlApp", "Settings", "FixedDecimal", .FixedDecimal
        If .FixedDecimalPlaces <> 2 Then .FixedDecimalPlaces = 2
    End With
End Sub
και στον κώδικα του φύλλου:

Κώδικας:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.FixedDecimal = Not Intersect(Target, Range("A1:A29")) Is Nothing
End Sub
Θανάση και Γιώργο οι λύσεις σας είναι όπως πάντα μοναδικές!

Να είστε πάντα καλά!

Φιλικά

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

Τελευταία επεξεργασία από το χρήστη Tasos : 26-06-11 στις 10:05.
Απάντηση με παράθεση
  #10  
Παλιά 26-06-11, 00:20
Όνομα: φωτης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-01-2011
Μηνύματα: 29
Προεπιλογή

Καλησπέρα!

Φίλε Γιώργο η λύση σου είναι τόσο απλή που κάνει την αμάθεια μου ακόμη πιο μεγάλη.

Όσο για τις λύσεις σε VBA από τον Θανάση και τον Τάσο....

Σας ευχαριστώ όλους για την άμεση λύση του προβλήματος και για τις υποδείξεις σας.

ΥΓ Δούλεψαν όλες ρολόϊ.
Απάντηση με παράθεση
Απάντηση στο θέμα

Ετικέτες
vba, μορφοποίηση, συναρτήσεις


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] Αναζήτηση συνάρτησης:"If then do στο κελί τάδε αυτό και στο κελί τάδε το άλλο..." vagpte Excel - Ερωτήσεις / Απαντήσεις 4 08-05-13 11:23
[Γενικά] αυτόματη προσαρμογή αριθμου σε κελί misirlis Excel - Ερωτήσεις / Απαντήσεις 2 24-03-11 05:04
[Excel07] Εισαγωγή κελιού σε άλλο κελί με διπλό κλικ του ποντικιού ΠΑΥΛΟΣ Excel - Ερωτήσεις / Απαντήσεις 4 22-09-10 10:05
[Γενικά] Κελί που να ενημερώνεται από την εισαγωγή δεδομένων σε ένα άλλο κελί? dancer_69 Excel - Ερωτήσεις / Απαντήσεις 4 19-03-10 12:04
Εισαγωγή formula σε κελί μέσω VBA... ChryssaV Access - Ερωτήσεις / Απαντήσεις 4 09-10-09 10:05


Η ώρα είναι 23:41.