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

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

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

 

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

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

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

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

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

Μπορούμε ακόμα να ρυθμίσουμε προγραμματιστικά (με 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.
Απάντηση με παράθεση
  #3  
Παλιά 26-06-11, 00:20
Όνομα: φωτης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-01-2011
Μηνύματα: 27
Προεπιλογή

Καλησπέρα!

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

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

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

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

Παράθεση:
Αρχική Δημοσίευση από kapetang Εμφάνιση μηνυμάτων
...
Στο αρχείο που επισυνάπτω (είναι το αρχείο με τις λύσεις που πρότεινε ο Θανάσης) έχω διαμορφώσει τη στήλη K ώστε να έχει αυτές τις ιδιότητες.
Φιλικά/Γιώργος
Εγώ απλά θέλω να πω ένα ευχαριστώ στο Γιώργο έμαθα κάτι που δεν ήξερα για το Excel Εργαλεία/Επιλογές/Επεξεργασία και ορισμό Σταθερών δεκαδικών.
Το μόνο μειονέκτημα σε σχέση με το συγκεκριμένο ερώτημα είναι ότι αφορά ολόκληρο το φύλλο και όχι περιορισμένη περιοχή.
Θα έλεγα λοιπόν ότι ο κανόνας "Πάντα μαθαίνουμε... Κανείς δεν τα γνωρίζει όλα" επιβεβαιώνεται για μια ακόμα φορά.
Ευχαριστώ τον Φώτη για το ερώτημα του αλλά και τον Γιώργο για την μετάδοση της γνώσης.

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

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

Η ρύθμιση των «σταθερών δεκαδικών» είναι βολική, αλλά, αν δεν προσέξουμε, μπορεί να οδηγήσει σε λάθη.
Τα βασικά που πρέπει να έχουμε υπόψη μας είναι:
1. Η ρύθμιση αφορά ολόκληρο το βιβλίο εργασίας και αποθηκεύεται μαζί του.
Αυτό σημαίνει ότι, αν πληκτρολογήσουμε έναν ακέραιο σε οποιοδήποτε κελί του βιβλίου, στο κελί θα αποθηκευτεί το πηλίκο του ακέραιου με το 100.
Αντιθέτως, αν πληκτρολογήσουμε ένα δεκαδικό, ο δεκαδικός δε θα αλλάξει και θα αποθηκευτεί όπως τον πληκτρολογήσαμε (δε θα διαιρεθεί με το 100).
2. Αν αφαιρέσουμε τη ρύθμιση των «σταθερών δεκαδικών», ότι έχει αποθηκευτεί στα κελιά δε θα αλλάξει. Απλά από το σημείο αυτό το excel θα συμπεριφέρεται φυσιολογικά (δε θα διαιρεί τους ακέραιους με το 100).
Κατά τη γνώμη μου, για να αποφύγουμε τα λάθη, μετά από την καταχώρηση ενός συνόλου ακεραίων ,που θέλουμε να διαιρούνται αυτόματα με το 100, θα πρέπει να αφαιρείται η ρύθμιση των «σταθερών δεκαδικών» για να επανέρχεται το excel στη συμπεριφορά με την οποία είμαστε εξοικειωμένοι.
Φυσικά, αν θέλουμε να καταχωρήσουμε νέα ομάδα ακεραίων, δεν μας εμποδίζει τίποτα να επαναφέρουμε τη ρύθμιση.

Φιλικά/Γιώργος
ΥΓ Σας ευχαριστώ όλους για τα καλά λόγια
Απάντηση με παράθεση
  #6  
Παλιά 26-06-11, 12:25
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

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

Επίσης με το συμβάν Worksheet_SelectionChange() μπορούμε να καθορίσουμε την/τις περιοχές
όπου θα επιτρέπεται η αυτόματη Εισαγωγή Υποδιαστολής.

Για παράδειγμα:
Κώδικας:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'    If Target.Count > 1 Then Exit Sub
'    If Target.Row > 20 Or Target.Row < 5 Then Exit Sub
    Select Case Target.Column
    Case 1, 2, 3, 4
        Application.FixedDecimal = True
    Case Else
        Application.FixedDecimal = False
    End Select
End Sub
Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #7  
Παλιά 26-06-11, 17:16
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

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

Τάσο μου, συμφωνώ ότι με τον κώδικα έχουμε καλύτερο έλεγχο στη ρύθμιση «Αυτόματη Εισαγωγή Υποδιαστολής» (σταθερών δεκαδικών), οπότε περιορίζουμε και τον κίνδυνο λαθών.
Στο προηγούμενο μήνυμά μου έγραφα ότι «Η ρύθμιση αφορά ολόκληρο το βιβλίο εργασίας». Το σωστότερο είναι ότι η ρύθμιση είναι επιπέδου εφαρμογής και συνεπώς, όταν γίνεται χειροκίνητα, υπάρχει περίπτωση (όταν κλείσουμε το excel) να είναι ενεργοποιημένη οπότε, αν μετά ανοίξουμε ένα βιβλίο εργασίας ή δημιουργήσουμε νέο, μπορεί να μη προσέξουμε ότι οι ακέραιοι που πληκτρολογούμε διαιρούνται με το 100.
Στο αρχείο που επισυνάπτω προσπάθησα να δοκιμάσω τον κώδικα του Θανάση και του Τάσου.
Το αποτέλεσμα παρουσιάζει ενδιαφέρον και ομολογώ ότι δεν το περίμενα.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: xls FixedDecimal.xls (52,5 KB, 14 εμφανίσεις)

Τελευταία επεξεργασία από το χρήστη kapetang : 26-06-11 στις 21:11. Αιτία: Αλλαγή συνημμένου
Απάντηση με παράθεση
Απάντηση στο θέμα

Ετικέτες
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


Η ώρα είναι 00:17.