![]() |
Πως μπορώ να μεταφέρω τα δεδομένα που θα επιλέγω από μια στήλη σε μια άλλη Θα ήθελα να ρωτήσω πως μπορώ να μεταφέρω δεδομένα τα οποία θα επιλέγω από μια στήλη σε μια άλλη...Ευχαριστώ εκ' τον προτέρων... |
1 Συνημμένο(α) Kαλησπέρα. Φίλε Σακη, αν θέλεις αυτό να γίνεται συνέχεια, ορίζεις το κελί προορισμου. Δηλ. εκεί που θέλεις να στείλεις τα δεδομένα του κελιού Α1(για παράδειγμα), γράφεις τον τύπο =Α1,(Δές το παράδειγμα) Αν αυτό θέλεις να γίνεται επιλεγμένα(όταν θέλεις εσύ), μαρκάρεις με αριστερό κλίκ τα κελιά που θέλεις να αντιγράψεις,πατάς αντιγραφή(copy), το πρώτο κελί προορισμού και πατάς επικόλληση(paste). Eλπίζω να κατάλαβα το ζητούμενό σου. Φιλικά/Λευτέρης |
1 Συνημμένο(α) Φιλε Λευτέρη σε ευχαριστώ ίσως δεν το διατύπωσα σωστά..Θέλω να επιλέγω τα δεδομένα που θα μεταφέρονται από την στήλη πχ Α στην στήλη C και αντίστροφα....όχι όμως με copy paste..Ίσως με κλικ η με κάποια επιλογή..Ευχαριστώ για τον κόπο.. Επισυνάπτω αρχείο για υποβοήθηση |
1 Συνημμένο(α) Καλησπέρα στην παρέα Σάκη, στο αρχείο που επισυνάπτω, έκανα μια προσπάθεια να υλοποιήσω το ζητούμενο. Συγκεκριμένα κάνοντας κλικ σ’ ένα κελί της περιοχής «A2:A120»: 1. Αν το κελί έχει όνομα μεταφέρεται στους απόντες. 2. Αν είναι κενό γεμίζει με το όνομα που υπάρχει στη στήλη C και στην ίδια γραμμή. Η παραπάνω λειτουργικότητα οφείλεται στον κώδικα: Κώδικας: Private Sub Worksheet_SelectionChange(ByVal Target As Range) |
Φίλε μου Γιώργο σε ευχαριστώ.. Είσαι απίστευτος. Υλοποιήσεως αυτό που ακριβώς ήθελα..Σε ευχαριστώ για τον κώδικα....Τι να πω respect!!!!!! |
Καλησπέρα Σάκη και καλωσόρισες στο φόρουμ! Εναλλακτικά, μπορείς να δοκιμάσεις το παρακάτω: Κώδικας: Option ExplicitΚαλή συνέχεια! Τάσος |
Φίλε Τάσο σε ευχαριστώ πολύ...και ο δικός σου κώδικας είναι οκ!!!Ευχαριστώ πολύ για την βοήθεια.. |
Παράθεση:
στο παραπάνω παράδειγμα ( αλλάζοντας το target.cut με το target.copy ) μπορω να Αντιγράψω ένα όνομα απο την στήλη Α στην στήλη C με την χρήση της VBA , πχ το Α1 στο C1 Η ερώτηση ......... εαν έχω πχ έναν πίνακα με τις στηλες Α και C και 6 Ονοματα στην Α στήλη , Αλλά μόνο 3 θέσεις στην στηλη C μπορώ πχ το Α2 να το βάζω ( αντιγράφω ) στο C1 και μετα ΑΝ το C1 έχει όνομα το το Α4 να το βάζω στο αμέσως αποκάτω κενό κελί της στηλης C ; στο C2 δηλαδή κσι κατόπιν το Α6 στο C3 ; ή πιό απλά .... με .... κλικ στο Α2 να αντιγράφεται στο C1 κλικ στο Α4 να αντιγράφεται στο C2 κλικ στο Α6 να αντιγράφεται στο C3 ; |
1 Συνημμένο(α) Παράθεση:
Νίκο, στο επισυναπτόμενο αρχείο υπάρχει μια υλοποίηση του ζητούμενου. Φιλικά/Γιώργος |
αχ, ετσι που ειχα τα παραδείγματα εδωσα λάθος νόημα συγγνώμη ...παράλειψή μου το ζητούμενο είναι να μεταφέρονται και τα Μονά ονόματα ( να χρησιμοποείται δηλαδή Ολη η στήλη Α ) πχ Α1>C1 A3>C2 A4>C3 |
Καλημέρα Αν κατάλαβα καλά, κάθε φορά που θα κάνουμε κλικ σε ένα κελί της στήλης Α η τιμή του θα αντιγράφεται στην στήλη C κάτω από τα υπάρχοντα δεδομένα. Αν ξανακάνω κλικ σε ένα κελί της στήλης Α τι θα γίνει, η τιμή του θα αντιγραφεί ξανά; Φιλικά/Γιώργος |
1 Συνημμένο(α) ναι αλλά θα βάλω ένα άλλο να πάει στην θέση του σε ταλαιπωρώ και δεν το ήθελα , ας το αφήσουμε τωρα το κάνω με το ..... = στο πχ C1 > κλικ και enter στο πχ Α2 και αντιγράφεται επίσης μπορώ να χρησιμοποιώ και το παρακάτω αλλά πρέπει να τα εχω εις τριπλούν ή διπλούν κλπ |
Καλησπέρα! Αγαπητέ Νίκο, δεν είναι καθόλου μα καθόλου αξιόπιστη η μέθοδος καταχώρησης δεδομένων με το συμβάν Worksheet_SelectionChange() το οποίο δεν εξαπολύεται μόνο με το κλικ του ποντικιού αλλά και με αρκετά άλλα πλήκτρα όπως Enter, Tab, τα βέλη και πολλά αλλά που προκαλούν τη μετακίνηση του κέρσορα και κατά συνέπεια την ανεπιθύμητη εκτέλεση του συμβάντος. Αρκεί δηλαδή να ακουμπήσεις κατά λάθος ένα από τα πλήκτρα αυτά για να προκαλέσεις κάποιο λάθος χωρίς καν να έχεις αντιληφθεί ότι άλλαξες μια τιμή, που την άλλαξες και ποια ήταν η παλιά τιμή για να τη διορθώσεις! Αν μπορούσες να μας περιγράψεις τι θέλεις να κάνεις (όχι τον τρόπο που θέλεις να το κάνεις) ίσως μπορούσαμε να σου προτείνουμε μια διαφορετική προσέγγιση στην επίλυση του προβλήματος. Φιλικά Τάσος |
1 Συνημμένο(α) καλησπέρα, το θέμα το ξαναείδα επειδη είχα κάνει αποθήκευση την σελίδα ( όπως και άλλες ) στο Pc για τυχόν μελλοντική χρήση και διαβάζοντάς το μου ηρθε η ιδέα του ερωτήματος μπας και γλύτωνα 1-2 κλικ . Μεχρι πριν λιγο καιρό πριν ασχοληθώ με την vba ερασιτεχνικα και την χρησιμοποιήσω , ειχα φτασει στο σημείο να κάνω περι τα 600,000 με 700,000 κλικ τον χρονο !!! απο οσο ειχα υπολογίσει στο excel . και αυτά , με copy past τα εκανα . μόνο κάποια ημέρα της εβδομάδος έκανα 8 με 10,000 κάθε εβδομάδα. ( σε κάποιο '' έργο" ) και μου έχει μείνει απωθημένο !!!! το συννημένο excel ειναι αυτο που χρησιμοποιώ ( ένα κομματι ) οπως φαίνεται , * με μια ματια μπορω να δω στο ζευγος των 2 ονοματων ή των τριών αν τα εχω μεταφέρει σωστα και μπορω αμεσως να κανω τυχόν δόρθωση. * Σε άλλο φυλλο του ''εργου'' υπάρχουν τα Ονόματα και σε διπλανή στήλη καποιες επιδόσεις για τον καθενα . απ το κουμπι 2 ή 3 ( δεν ειναι σε λειτουργια ) παιρνω το πρωτο Ονομα και το βαζω σε καποια στηλη με τις επιδοσεις που εχει και μετα δίπλα το δεύτερο Ονομα με τις επιδόσεις και αυτού . και συγκρινω τις επιδόσεις των 2 Ονοματων , σε συνδιασμό με κάποια ημερομηνία . ( δυσνόητο λιγο , αλλά για τα μέτρα μου στις γνώσεις του excel και vba ειναι απλό ) ( να μην σας βάζω σε περαιτέρω βάσανο , και με κοπυπαστάδα !! ή με = κάνω την δουλειά μου δεν είναι δα και τόσο σοβαρό το ζήτημα ) |
Νίκο θα θέλαμε να ξέρουμε τι ακριβώς ζητάς. Όχι πως το κάνεις. Μέχρι στιγμής είναι προφανές ότι (αν κάνω κάπου λάθος σε παρακαλώ διόρθωσε με): Έχεις τρεις στήλες. Στήλη 1 = Ημερομηνία (δεν την αναφέρεις πουθενά) Στήλη 2 = Όνομα Στήλη 3 = Επιδόσεις Το ζητούμενο είναι να συγκρίνονται τις επιδόσεις των 2 ονομάτων, που έχουν την ίδια ημερομηνία. Το βασικότερο που δεν γνωρίζουμε: Τι θα γίνει μετά τη σύγκριση; Μήπως έπρεπε να κάνει η εφαρμογή τις συγκρίσεις καθώς και την επόμενη κίνηση αντί να σου στοιχίζει 700.000 κλικ το χρόνο; Τάσος |
συνέχεια............... """Νίκο θα θέλαμε να ξέρουμε τι ακριβώς ζητάς"""" ένα και μόνο ένα πως με ενα κλικ σέ ένα κελί στην στηλη Α του excel Onomata να Αντιγράφεται στο κελι C3 και το επομενο κλικ της στηλης Α να αντιγράφεται στο C4 Αν πατηθεί Τρίτο Ονομα απο την Α > στο C3 Τέταρτο Ονομα απο την Α στο > C4 Πέμπτο Ονομα στην Α πάλι στο C3 Εκτο Ονομα στην Α > C4 και ουτω καθεξής αν κατα λάθος πατησω πχ 2 φορες το Α2 και παει ( αντιγραφει ) στο C3 και C4 απλα με το πλήκτρο del σβηνω το C4 και κλικαρω άλλο κελί από το Α2 ελπίζω να ήμουν αυτη την φορά κατανοητός |
1 Συνημμένο(α) Καλησπέρα στην παρέα Στο επισυναπτόμενο αρχείο επιχειρείται μια προσέγγιση του ζητούμενου. Κάνοντας κλικ στα κελιά της στήλης Α οι τιμές τους αντιγράφονται, εναλλάξ, στα κελιά C3 και C4. Αν η τιμή του κελιού στο οποίο γίνεται κλικ υπάρχει στο κελί C3 ή C4, η τιμή του δεν αντιγράφεται. Η παραπάνω λειτουργικότητα υλοποιείται με τον παρακάτω κώδικα: Κώδικας: Option ExplicitΦιλικά/Γιώργος |
1 Συνημμένο(α) Καλημέρα Μία εναλλακτική λύση για μεταφορά και αντιγραφή χωρίς VBA με χρήση CHECK BOX και 2 απλούς τύπους IF Μπορεί να είναι χρήσιμο |
1 Συνημμένο(α) ΚΑΙ σε xls Συγνώμη το ξεχνάω... |
1 Συνημμένο(α) Καλημέρα σε όλους! Το ζητούμενο του φίλου Νίκου είναι πάρα πολύ απλό αλλά σπάνιο . Παρόλο που δεν μας είναι γνωστή η ωφέλεια του ζητούμενου (αν γνωρίζαμε σίγουρα θα προτείναμε κάτι διαφορετικό), επισυνάπτω ένα αρχείο που περιέχει τρεις διαφορετικές μεθόδους για την επίλυση του . Φιλικά Τάσος |
Αμέτρητες ευχαριστίες..... Δυστηχώς η Forthnet είχε μιά πολύωρη διακοπή και γι'αυτο η καθυστερημένη απάντηση. Να βάλω και εγώ κάτι που μπορεί να χρησιμεύσει σε κάποιον ( ισως οι Αδμινίστορες την θεωρήσουν χρήσιμη και την τοποθετήσουν σε ανάλογο Θέμα ) Εστω Α1 = 5 Β1 = - ( παύλα ) C1 = 9 Με την =CONCATENATE(A1;B1;C1) στην στήλη Ε και στο Ε1 παίρνουμε το 5-9 με την παρακάτω , στις στήλες G και Η κάνουμε Split το 5-9 , σε 5 και 9 ( δεν ξέρω αν υπάρχει και άλλος τρόπος , αυτήν είχα βρεί στο διαδύκτιο και ήταν πολυ πρακτική ) Κώδικας: Sub Split_paula()και πάλι σας ευχαριστώ |
Νίκο σ ευχαριστούμε για τη λύση που παράθεσες! Και εμείς ήμαστε στο Internet και συνήθως οι κώδικες μας δεν είναι φλύαροι:biggrin: Για παράδειγμα, ο παρακάτω κώδικας διαχωρίζει τη λέξη 1-1 από το κελί A2 στα και περνά τα τμήματα της στα αμέσως επόμενα κελιά δεξιά: Κώδικας: Sub Split_paula()Τάσος |
Καλησπέρα σας και από μένα. εκτός του ότι δεν καταλαβαίνω γιατί να σπάσουμε (split) κάτι που ενώσαμε με την Concatenate !!! δεν καταλαβαίνω και γιατί χρειαζόμαστε VBA αφού οι τύποι: Κώδικας: G1=LEFT(E1;SEARCH(B1;E1)-1) Ή απλά μέσω μενού κείμενο σε στήλες με διαχωριστικό την παύλα (κελί e1 στα g1 και h1) Κώδικας: Sub Split_paula()Τα λέμε. Θανάσης. |
| Η ώρα είναι 14:29. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.