| Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Χαιρετώ την κοινότητα. Προσπαθώ να φτιάξω macros (λίγο σύνθετο) η οποία θα λύνει το εξής πρόβλημα: Στο πρώτο φύλλο δεδομένων, όπου το φύλλο εργασιών αυτών περιέχει 6 στήλες. Η στήλη Α έχει τον κωδικό του πελάτη, η στήλη Β έχει το ονοματεπώνυμο του πελάτη, η στήλη C έχει το προϊόν που αγόρασε ο πελάτης, η στήλη D έχει την τιμή του προϊόντος με την καθαρή αξία, η στήλη Ε έχει την τιμή του Φ.Π.Α και η στήλη F έχει την τελική τιμή. Στο δεύτερο φύλλο υπάρχουν τα δεδομένα του πελάτη (κωδικός πελάτη, τηλ, ΑΦΜ κ.τ.λ) και μία στήλη F με το συνολικό καθαρό ποσό των προϊόντων ανα πελάτη (δηλ. αν έχει αγοράσει ο πελάτης ένα αντικείμενο με 5 euro και ένα αντικείμενο με 10 euro, η στήλη F πρέπει να περιέχει τον αριθμό 15 (το άθροισμα 5 + 10). Το πρόβλημα είναι ότι δεν γνωρίζω πως (καθώς είμαι πολύ καινούριος στην VB) να λαμβάνω δεδομένα από δύο διαφορετικά Φύλλα εργασιών προκειμένου να δουλέψω με τα δεδομένα αυτά. Ευχαριστώ εκ των προτέρων |
|
#2
| |||
| |||
|
Δημιούργησα το εξής script, αλλά έχει γίνει κάποιο σφάλμα. Sub sum_pelatis() On Error GoTo errorMsg plithosGramon1 = InputBox("Dose to plithos ton paragelion") plithosGramon2 = InputBox("Dose to plithos ton pelaton") Set Sht2 = Worksheets("Pelates") Set Sht1 = Worksheets("paragelies") For k = 1 To plithosGramon2 kodikosPelaton1_Met = Sht2.C & k Range(kodikosPelaton1_Met).Select kodikosPelaton1_Timi = ActiveCell.FormulaR1C1 onomateponimo_Met = Sht2.H & k Range(onomateponimo_Met).Select onomateponimo_Timi = ActiveCell.FormulaR1C1 paratirisis_Met = Sh2.I & k Range(paratirisis_Met).Select paratirisis_Timi = ActiveCell.FormulaR1C1 For G = 1 To pilthosGramon1 kodikosPelaton2_Met = Sh1 & G Range(kodikosPelaton2_Met).Select kodikosPelaton2_Timi = ActiveCell.FormulaR1C1 If (kodikosPelaton1_Timi = kodikosPelaton2_Timi) Then Katharo_Met = Sh1.J & G Range(Katharo_Met).Select Katharo_Timi = ActiveCell.FormulaR1C1 SumKatharo = SumKatharo + Katharo_Timi End If Next G ActiveCell.Sh2.J& k = SumKatharo Next k errorMsg: MsgBox Err.Description, vbOKOnly + vbCritical, "Error" End Sub |
|
#3
| ||||
| ||||
|
Καλημέρα Άρη και καλωσόρισες στο φόρουμ! Επειδή ο κώδικας που δημοσίευσες δεν έχει κάποιο συντακτικό σφάλμα (κάποιες άλλες παραλείψεις υπάρχουν), θα βοηθούσε αν ανέβαζες ένα δείγμα του αρχείου σου όπου θα περιγράφεις το ζητούμενο σου και κατ' επέκταση να δούμε κι εμείς που, σε ποιο σημείο του προγράμματος εμφανίζεται το σφάλμα. Περιμένουμε νέα σου Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 07-04-11 στις 15:25. |
|
#4
| |||
| |||
|
Φίλε Τάσο Αρχικά ευχαριστώ. Tο φύλλο excel βρίσκεται στο http://www.isweb.gr/test.xlsx |
|
#5
| ||||
| ||||
|
Καλησπέρα! Αρη, αν κατάλαβα καλά, θέλεις με κάποιο τρόπο να εμφανίζεις κάποια συνκεντρωτικά αποτελέσματα στο φύλλο Pelates σε διάταξη όπως αυτή των παραδειγματικών εγγραφων στο πάνω μέρος του φύλλου στο αρχείο σου. Στις παραδειγματικές αυτές εγγραφές εμφανίζεις όμως και άλλες στήλες. Πες μας: Τι θα γίνει αν ο πελάτης εχει αγοράσει 2 η περισσοτερα διαφορετικά προιόντα; Πώς και που θα εμφανίζονται; Μήπως ένας συγκεντρωτικός πίνακας έλυνε το πρόβλημα σου; Περιμένουμε νέα σου. Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
|
#6
| |||
| |||
|
Καλημέρα! Τάσο, δεν με ενδιαφέρει στην προκειμένη περίπτωση ποια και πόσα διαφορετικά προϊόντα θα αγοράσει ο πελάτης, αυτό που θα πρέπει να εμφανίζει στo φύλλο Pelates, στην στήλη ‘ΣΥΝΟΛΟ ΚΑΘΑΡΗΣ ΑΞΙΑΣ ΤΟΥ ΚΆΘΕ ΚΩΔ.ΠΕΛΑΤΗ’ (στήλη J) είναι το συνολικό ποσό που έδωσε ο πελάτης, για το σύνολο των προϊόντων που παρέλαβε. Ουσιαστικά το φύλλο Paragelies είναι οι κινήσεις και χαρακτηριστικά των αντικειμένων που έχουν παραδοθεί στους πελάτες, το φύλλο Pelates έχω όλα τα στοιχεία των πελατών καθώς και τα οικονομικά στοιχεία. Αυτό που θα ήθελα να κάνει το script είναι να σαρώνει το φύλλο Paragelies και να καταχωρεί στο φύλλο Pelates το συνολικό ποσό παραγγελιών του κάθε πελάτη. Έχεις αναφέρει κάτι σχετικά με τον συγκεντρωτικό πίνακα , θα το κοιτάξω και θα σου πω (καθώς πρώτη φορά τον συναντώ) Ευχαριστώ |
|
#7
| ||||
| ||||
|
Καλημέρα Άρη! Τις περισσότερες φορές, δεν χρειάζεται προγραμματισμός για να πάρεις κάποια συγκεντρωτικά στοιχεία από την Excel. Το ζητούμενο σου καλύπτεται με τη συνάρτηση SUMIF() (Κανε κλικ εδώ για περισσότερες λεπτομέρειες) που όπως μας προδιαθέτει και το όνομα, αθροίζει τιμές κάτω από συγκεκριμένους όρους τους οποίους πρέπει να ορίσει ο χρήστης μέσα στη συνάρτηση. Πιο αναλυτικά: =SUMIF(Στήλη_αναζήτησης;Κριτήρια_Αναζήτησης;Στήλη_Προς_Άθροισμα) Παράδειγμα: Έστω ότι οι πρωταγωνίστριες στήλες στο φύλλο παραγγελιών (όνομα φύλλου = Orders) είναι:
Στο φύλλο που θα εμφανίζονται τα σύνολα αγορών ανά πελάτη στην επιθυμητή στήλη βάζουμε τον τύπο: =SUMIF(Orders!B:B;A2;Orders!E:E) όπου A2 = ο Κωδικός Πελάτη στο φύλλο με τα σύνολα αγορών ανά πελάτη. Δες το και στο επισυναπτόμενο παράδειγμα παρακάτω. Καλή συνέχεια! Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
|
#8
| |||
| |||
|
Τάσο μου έλυσες τα χέρια !!!! Την συνάρτηση sumif την ήξερα αλλά δεν ήξερα ότι μπορείς να διαβάζει από γειτονικά φύλλα. Όπως και να έχει το πράγμα ευχαριστώ πολύ PS: Μήπως γνωρίζεις αν γίνεται, οι συναρτήσεις του excel να χρησιμοποιηθούν σε macros ; Ξέρεις κανένα καλό tutorial για macros; |
|
#9
| ||||
| ||||
|
Καλησπέρα Άρη! Χαίρομαι που βοηθήθηκες! Τις ενσωματωμένες συναρτήσεις της Excel (σχεδόν όλες) μπορούμε να τις καλέσουμε χρησιμοποιώντας το αντικείμενο WorksheetFunction Για παράδειγμα : MyValue = Application.WorksheetFunction.Min(myRange). Όσο για Tutorials, υπάρχουν πάρα πολλά στο Internet (ΥουTube κτλ.) πού απευθύνονται κυρίως σε αρχάριους. Αυτό δεν αρκεί όμως για να προγραμματίζεις στην Excel αν δεν μάθεις πρώτα τα αντικείμενα με τα ονόματα τους και τις ιδιότητες τους για να μπορείς να χρησιμοποιήσεις. Να θυμάσαι:
Καλή συνέχεια! Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [Excel07] Σύγκριση εγγραφών σε 2 φύλλα excel | Διογένης | Excel - Ερωτήσεις / Απαντήσεις | 9 | 19-06-19 12:22 |
| [Συναρτήσεις] Ταυτόχρονη εισαγωγή δεδομένων σε 2 φύλλα | mantarinia | Excel - Ερωτήσεις / Απαντήσεις | 2 | 28-04-15 18:40 |
| [VBA] Μεταφορά δεδομένων από πολλά φύλλα | xristos | Excel - Ερωτήσεις / Απαντήσεις | 2 | 12-04-15 21:58 |
| [Συναρτήσεις] Σύγκριση Δεδομένων | nvb | Excel - Ερωτήσεις / Απαντήσεις | 2 | 09-12-13 08:38 |
| [VBA] Μεταφορά δεδομένων ανάμεσα σε φύλλα | anastasiosz | Excel - Ερωτήσεις / Απαντήσεις | 11 | 10-03-11 18:21 |
Η ώρα είναι 22:04.


Αλλαγή σε γραμμικό τρόπο

