ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [Γενικά] πρόσθεση αριθμών στο ίδιο κελί

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 15-09-11, 22:11
Το avatar του χρήστη dimnot
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 27-11-2010
Περιοχή: Ηράκλειο Κρήτης
Μηνύματα: 57
Προεπιλογή πρόσθεση αριθμών στο ίδιο κελί

Καλησπέρα σε όλους τους φίλους του φόρουμ.
Θα ήθελα να ρωτήσω αν και πώς γίνεται μέσα σε ένα κελί στο οποίο βάζω κάποιο αριθμό συμβάντων και τον οποίο αριθμό κάθε μέρα προσθέτω , αν μπορεί βγαίνοντας από το συγκεκριμένο κελί , να γίνεται αυτόματα η πρόσθεση και στο κελί να εμφανίζεται αυτόματα το νέο αποτέλεσμα .
Για παράδειγμα : στο κελί C2 έχω βάλει τον αριθμό 15 . Πως γίνεται στην επόμενη επίσκεψη μου στο ανωτέρω κελί , να γράφω το νέο αριθμό πχ 5 και αυτόματα βγαίνοντας το ίδιο κελί να δείχνει πλέον 20 (δηλ. το αποτέλεσμα της πρόσθεσης) ...και χωρίς βέβαια να χάνονται οι ιδιότητες του συγκεκριμένου κελιού
Ελπίζω να βοηθήσει η εικόνα που επισυνάπτω... Σας ευχαριστώ εκ των προτέρων
Συνημμένα Thumbnails
πρόσθεση αριθμών στο ίδιο κελί-test.jpg  
Απάντηση με παράθεση
  #2  
Παλιά 16-09-11, 11:26
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.737
Προεπιλογή

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

Δημήτρη, στο αρχείο που επισυνάπτω υπάρχει μία προσέγγιση του ζητούμενου, με τη χρήση κώδικα.
Ο κώδικας φαίνεται παρακάτω και μπορείς να τον προσαρμόσεις στις ανάγκες σου.
Κώδικας:
Private Sub Worksheet_Change(ByVal Target As Range)
    'Στο Module1 θα πρέπει να υπάρχει η δήλωση: Public x As Variant
    Dim blnSum As Boolean
    Application.EnableEvents = False
    blnSum = True
    If IsEmpty(x) Then x = Range("A1:CV100"): blnSum = False

    If Application.Intersect(Target, Range("A1:CV100")) Is Nothing Then
        Application.EnableEvents = True
        Exit Sub
    End If
    If Target.Cells.Count = 1 Then
        If Not IsEmpty(Target.Value) And IsNumeric(Target.Value) Then
            If IsNumeric(x(Target.Row, Target.Column)) Then
                If blnSum Then Target.Value = x(Target.Row, Target.Column) + Target.Value
            End If
        End If
    End If
    x = Range("A1:CV100")
    Application.EnableEvents = True
End Sub
Σε ένα τετράγωνο κελιών 100Χ100 αρχίζοντας από το κελί Α1, αν πληκτρολογούμε αριθμούς σε ένα κελί, αυτοί θα αθροίζονται.
Αν πληκτρολογήσουμε κείμενο θα καταχωρηθεί, αλλάζοντας το περιεχόμενο του κελιού, χωρίς προειδοποίηση.
Αν συνεπώς σε ένα κελί που καταχωρούμε συμβάντα καταχωρήσουμε κατά λάθος κείμενο, για να μη χάσουμε τα δεδομένα θα πρέπει να ακυρώσουμε την καταχώρηση (UnDo).
Είδα στο μήνυμά σου ότι κάνεις συγχώνευση κελιών. Στη συγκεκριμένη περίπτωση δεν τη συνιστώ μπορεί να σου δημιουργήσει προβλήματα.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: xls ΚαταχώρησηΣυμβάντων2.xls (39,0 KB, 58 εμφανίσεις)

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

Καλημέρα Δημήτρη!

Μπορεί να γίνει με VBA αλλά δεν θα σου το πρότεινα επειδή
όταν αλλάζει μια τιμή στο ενεργό φύλλο προγραμματιστικά:


  • Χάνεται αυτόματα η λίστα Αναίρεσης (Undo).
  • Καταργείται το πρόχειρο της εφαρμογής.

Δε ξέρω τι θέλεις να επιτύχεις αλλά γιατί σε ένα κελί όλα αυτά και όχι σε 2 ή 3 που θα σου επιτρέπει να βλέπεις ανα πάσα στιγμή τί κάνεις;

Σου προτείνω μια λύση με VBA στο συνημμένο αλλά με χρήση περισσότερων κελιών.

Ελπίζω να σ εξυπηρετεί.

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

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: xls xlAutoSum.xls (29,0 KB, 78 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 16-09-11 στις 12:10.
Απάντηση με παράθεση
  #4  
Παλιά 16-09-11, 17:39
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.737
Προεπιλογή

Καλησπέρα
Ο κώδικας στο προηγούμενο μήνυμά μου(#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», με το οποίο αντικατέστησα το συνημμένο στο προηγούμενο μήνυμα, χρησιμοποιεί το νέο κώδικα.

Φιλικά/Γιώργος
Απάντηση με παράθεση
  #5  
Παλιά 16-09-11, 23:55
Το avatar του χρήστη dimnot
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 27-11-2010
Περιοχή: Ηράκλειο Κρήτης
Μηνύματα: 57
Προεπιλογή

Αγαπητοί μου Τάσο και Γιώργο καλησπέρα σας.
Αρχικά θα ήθελα να σας ευχαριστήσω για τις ιδέες σας οι οποίες ήταν πραγματικά αυτό που σκεφτόμουν αλλά δεν μπορούσα λόγω γνώσεων να εφαρμόσω. Νομίζω όμως ότι θα έπρεπε να προσθέσω και κάποιες επιπλέον λεπτομέρειες για το αρχείο που δουλεύω, δηλαδή τι αφορά, πως λειτουργεί αλλά και γιατί πρέπει να γίνονται οι πράξεις σε συγκεκριμένα κελιά .
Το αρχείο αφορά εργασίες που διεκπεραιώνονται από το γραφείο μου κάθε μέρα , οι οποίες σε εβδομαδιαίο ρυθμό αλλά και συνολικά σε μηνιαίο ρυθμό τελικά μου συμπληρώνουν στατιστικές αναφορές για κάθε ένα είδος ξεχωριστά. Για το σκοπό αυτό έχω φτιάξει ένα αρχείο το οποίο περιέχει πολλά φύλλα εργασίας. Σ' αυτό υπάρχει ως αρχικό φύλλο ένα το οποίο λέγεται "Στατιστικά" και από το οποίο "περνούν " στοιχεία στα άλλα φύλλα . Το "Στατιστικά" είναι προστατευμένο φύλλο και είναι χωρισμένο σε κατηγορίες εργασιών. Επειδή τώρα στο τέλος της εβδομάδας πρέπει να "καταχωρήσω" κάθε ένα είδος ξεχωριστά από ένα "πακέτο" τουλάχιστον 200 με 300 υποθέσεων την εβδομάδα , αλλά και επειδή η κάθε υπόθεση μπορεί να αφορά πολλά είδη εργασιών αναγκάζομαι να...το παίζω ΠΡΟΠΟ !!! δηλαδή να πηγαίνω κελί - κελί και συνέχεια να σβήνω και να γράφω κάθε αλλαγή ποσότητας κάνοντας την προσθαφαίρεση πρώτα στο μυαλό . Μπορείτε να καταλάβετε τώρα το πόσο εύκολα γίνεται το λάθος στη μέτρηση. Δυστυχώς λόγω χώρου στο αρχείο δεν μπορώ να συμπεριλάβω πολλές στήλες για κάθε στήλη κελιών, και το λέω αυτό για να σου δώσω να καταλάβεις φίλε Τάσο το σκεπτικό μου . Στη περίπτωση τώρα τη δική μου , το αρχείο που έφτιαξες εσύ φίλε Γιώργο είναι πραγματικά αυτό που θέλω πλην όμως από το μεσημέρι προσπαθώ να το προσαρμόσω στο δικό μου αλλά ....κάπου χάνω το τόπι . Για αυτό το λογο ανεβάζω ένα αντίγραφό του φύλλου ¨Στατιστικά" και σε παρακαλώ αν μπορείς να με κατευθύνεις στο πώς θα μπορούσα να το διαμορφώσω σωστά . Τα κελιά που μένουν "ανοικτά" για επεξεργασία είναι μόνο τα λευκά (τα έγχρωμα είναι αυτά τα οποία μετά "κλειδώνω")...
Σας ευχαριστώ και πάλι και ζητώ συγγνώμη αν σας βάζω σε κάποιο παραπάνω κόπο.
Φιλικά Δημήτρης....
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Στατιστικά.zip (83,9 KB, 25 εμφανίσεις)
Απάντηση με παράθεση
  #6  
Παλιά 17-09-11, 11:05
Lefteris
Guest
 
Μηνύματα: n/a
Προεπιλογή

Καλημέρα σε όλους τους φίλους.

Δημήτρη, βλέποντας την χθεσινοβραδινή σου απάντηση, θα ήθελα να επισημάνω και παράλληλα να σε ρωτήσω κάποια πράγματα.

Ο Γιώργος και ο Τάσος, σου έδωσαν εκπληκτικές απαντήσεις, σε αυτό ακριβώς, που ρώτησες. Είναι αυτό που ο Τάσος και άλλοι Φίλοι έχουν πεί: "Δεν μπορεί κανείς να είναι ούτε στο μυαλό, αλλά ούτε και στον Υπολογιστή του κάνοντα την ερώτηση". Γιά αυτό λοιπόν, πρέπει να είμαστε ακριβείς και με καλό παράδειγμα σε αυτό που ρωτάμε.

Γράφεις:

Παράθεση:
Για το σκοπό αυτό έχω φτιάξει ένα αρχείο το οποίο περιέχει πολλά φύλλα εργασίας
Να υποθέσω 30 Φύλλα(Όσες και οι μέρες του Σεπτέμβρη); ή 22 Φύλλα(Όσα οι εργάσιμες μέρες του Μήνα);; ή ...Τί;;

Παράθεση:
Επειδή τώρα στο τέλος της εβδομάδας πρέπει να "καταχωρήσω" κάθε ένα είδος ξεχωριστά από ένα "πακέτο" τουλάχιστον 200 με 300 υποθέσεων την εβδομάδα , αλλά και επειδή η κάθε υπόθεση μπορεί να αφορά πολλά είδη εργασιών αναγκάζομαι να...το παίζω ΠΡΟΠΟ !!!
Γιατί χρειάζεται να τα καταχωρήσεις όλα στο τέλος της εβδομάδας και όχι καθημερινά;

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

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

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

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

Συγνώμη για την μακρυγορία μου.
Απάντηση με παράθεση
  #7  
Παλιά 17-09-11, 12:03
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.737
Προεπιλογή

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

Φίλε Δημήτρη, ενώ γράφεις αρκετά για τον τρόπο συγκέντρωσης και καταχώρησης των στοιχείων δε διευκρινίζεις, μέσα σε ποια ορθογώνια περιοχή κελιών, όσα είναι λευκά, θα έχουν την ιδιότητα που ζητάς (ο αριθμός που θα πληκτρολογείς θα προστίθεται στην τρέχουσα τιμή του κελιού).
Μέσα στον κώδικα, η ορθογώνια περιοχή προσδιορίζεται από τις γραμμές κώδικα:
1. If Application.Intersect(Target, Range("B15:AF400")) Is Nothing Then Exit Sub
2. x = Range("A1:AF400").
Στην πρώτη εντολή καθορίζουμε ακριβώς την ορθογώνια περιοχή. Εδώ καθόρισα την περιοχή που η πάνω αριστερή γωνία είναι το κελί Β15και η κάτω δεξιά το AF400.
Στη δεύτερη εντολή το A1 δε μεταβάλλεται. Αλλάζουμε μόνο την τιμή μετά την άνω και κάτω τελεία, ώστε να συμπίπτει μ’ αυτήν που βάλαμε στην πρώτη εντολή.
Μέσα στην περιοχή που ορίζουμε με τις παραπάνω εντολές, αν θέλουμε σε κάποια κελιά να μη γίνεται αυτόματη άθροιση, θα πρέπει να τα βάψουμε.
Στο βιβλίο εργασίας έχω προσθέσει και το φύλλο «Στατιστικά2». Σ’ αυτό το φύλλο πρόσθεσα κώδικα που εμφανίζει μήνυμα με τις αλλαγές που θα γίνουν και μας δίνει τη δυνατότητα να τις αποδεχτούμε ή να τις ακυρώσουμε. Έτσι, κατά κάποιο τρόπο, ενσωματώνει και την πρόταση του Τάσου.
Μολονότι τα μηνύματα είναι σπαστικά, αν θέλεις να περιορίσεις τα λάθη, θα πρέπει να προτιμήσεις αυτή τη λύση.

Φιλικά/Γιώργος
ΥΓ Ενώ ετοίμαζα την απάντηση είδα και το μήνυμα του Λευτέρη, με το οποίο συμφωνώ.
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Στατιστικά2.zip (165,2 KB, 35 εμφανίσεις)
Απάντηση με παράθεση
  #8  
Παλιά 19-09-11, 23:08
Το avatar του χρήστη dimnot
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 27-11-2010
Περιοχή: Ηράκλειο Κρήτης
Μηνύματα: 57
Προεπιλογή

Καλησπέρα σε όλους...
Ξεκινώντας θα ήθελα να ζητήσω συγγνώμη από όλους για την αργοπορία μου στο να απαντήσω στα τελευταία μηνύματα , αλλά αυτό δεν έγινε εσκεμμένα .
Παράλληλα θα ήθελα να ευχαριστήσω όλους και προσωπικά εσένα φίλε Γιώργο, καθόσον η λύση που μου έδωσες ήταν αυτό ακριβώς που ζητούσα
..εδώ τώρα και καθώς εγώ δεν έχω γνώσεις από vb αναγκάστηκα να ψαχτώ , να βρώ το τρόπο που λειτουργεί η εντολή...να βρώ τρόπο αυτό το φύλλο που μου έδωσες να το μοντάρω με τα φύλλα που είχα ήδη δημιουργήσει , ούτως ώστε να "φτιάξω" πάλι το αρχείο όπως το θέλω και με βολεύει στη δουλειά μου ...Δυστυχώς δεν μπορώ να το ανεβάσω στο δίκτυο λόγω της δουλειάς μου . Όπως και να 'χει εγώ σας ευχαριστώ και πάλι όλους για τη γνώση που μου προσφέρετε ...
Φιλικά Δημήτρης....
Απάντηση με παράθεση
Απάντηση στο θέμα

Εργαλεία Θεμάτων
Τρόποι εμφάνισης

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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[VBA] πράξεις & αθροίσματα σε ίδιο κελί mantarinia Excel - Ερωτήσεις / Απαντήσεις 5 14-11-16 15:36
[Συναρτήσεις] Εξαγωγη αριθμων απο κειμενο και προσθεση τους dealer_xm Excel - Ερωτήσεις / Απαντήσεις 2 05-05-16 18:34
[Συναρτήσεις] Πρόσθεση αριθμών μπροστά από κάθετο xristos Excel - Ερωτήσεις / Απαντήσεις 14 09-07-12 20:55
[ Φόρμες ] Νέο όνομα ίδιο επώνυμο & ID alatis Access - Ερωτήσεις / Απαντήσεις 4 05-11-10 00:55
[Γενικά] Κελί που να ενημερώνεται από την εισαγωγή δεδομένων σε ένα άλλο κελί? dancer_69 Excel - Ερωτήσεις / Απαντήσεις 4 19-03-10 13:04


Η ώρα είναι 07:28.