![]() |
Μετακίνηση εγγραφών 1 Συνημμένο(α) Θα ήθελα αν γίνεται το επώνυμο -όνομα να ευθυγραμμιστεί με τους αριθμούς . Αυτό να γίνει είτε με μετακίνηση του επώνυμου-ονόματος προς τα κάτω είτε μετακίνηση των αριθμων προς τα πάνω. Επίσης η προηγούμενη σειρά να διαγραφεί και να μην έχω κενές γραμμές Θα ήθελα αν γίνεται με vba και χωρίς vba. Σας ευχαριστώ πολύ! |
1 Συνημμένο(α) Καλησπέρα Δημήτρη, δες μια πρόταση στο συνημμένο. |
Καλησπέρα Θεωρώ, ότι το ζητούμενο, είναι πιο απλό απ' ότι φαίνεται... Αρκεί να διαγράψουμε την περιοχή κελιών: d1:m1 Με ενεργό το φύλλο ΚΑΤΑΣΤΑΣΗ-1, τρέχουμε μια γραμμή κώδικα. Κώδικας: Sub Macro1()Αν θέλουμε να κλειδώσουμε τον κώδικα και να μην τρέξει ξανα αν η πρώτη γραμμή είναι πλήρης, βάζουμε: Κώδικας: Sub Macro1()μπορούν να φύγουν με τον ίδιο περίπου τρόπο. Απλά πρέπει να ξεκινήσεις να διαγράφεις από κάτω προς τα πάνω... Δοκίμασέ να το φτιάξεις μόνος σου με step - ... και αν δεν το καταφέρεις μιλάμε. *Τα πιο πάνω ισχύουν για το συγκεκριμένο layout του παραδείγματος |
Καλημέρα σας . Σας ευχαριστώ πολύ! |
Καλημέρα Ο κώδικας ολοκληρωμένος, για όσους μας διαβάζουν κι έχουν παρόμοιο θέμα. Τι κάνει Αν στη γραμμή 1, το τμήμα d1:m1 είναι κενό, τότε: 1.Ευθυγραμμίζει τις εγγραφές 2.Διαγράφει τις ενδιάμεσες κενές γραμμές 3.Διορθώνει τον α/α Κώδικας: Sub FixData()Αν δεν θέλετε να εκτελείται στο ενεργό φύλλο, αλλά σε κάποιο άλλο, αντικαταστήστε παντού, το ActiveSheet, με το κωδικό όνομα του φύλλου σας. *Τα πιο πάνω ισχύουν για το συγκεκριμένο layout του παραδείγματος |
Καλημέρα Κατά τη γνώμη ο κώδικας που αναρτήθηκε από το Σπύρο, μάλλον περιέχει ένα λάθος. Συγκεκριμένα: Η γραμμή κώδικα: lrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row, θα εντοπίσει τον αριθμό της γραμμής του τελευταίου ονόματος (ΧΑΤΖΗΚΩΝΣΤΑΝΤΗΣ). Στη συνέχεια ο βρόχος: For i = lrow To 2 Step -2, αρχίζοντας από το τελευταίο όνομα και προχωρώντας προς τα πάνω, θα διαγράφει γραμμές με ονόματα και όχι κενές. Προτείνω η σχετική γραμμή να γίνει: lrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1 |
1 Συνημμένο(α) Δεν υπάρχει κανένα λάθος! Στο παράδειγμα, η τελευταία γραμμή (71) είναι όνομα, χωρίς τους αριθμούς της από κάτω (72). Αυτό προφανώς είναι τυχαίο, διότι ο Δημήτρης ανέβασε ένα τμήμα δεδομένων. Το σωστό είναι, τα δεδομένα να έχουν στο τέλος την μορφή της εικόνας, για να υπάρχει νόημα... |
Είσαστε πολύ καλοί και οι δύο. Μας βοηθάτε πολύ. Ευχαριστούμε!! |
Καλημέρα! Για τη διαγραφή γραμμών με βάση τα κενά κελιά στη στήλη Β θα πρότεινα: Κώδικας: With Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).Offset(, 1)Τάσος |
Δημήτρη εσύ θα μας πεις τι γίνεται με τους αριθμούς. Κατά τη γνώμη μου στη στήλη Α πρόκειται για αρίθμηση γραμμών του και όχι εγγραφών. Γενικότερα, ο α/α που διορθώνεται και διαφοροποιείται από τον αρχικό παύει να θεωρείται α/α. Αν παρόλα αυτά χρειαστεί αρίθμηση εκ νέου τότε γράφουμε: Κώδικας: Sub test()Καλή συνέχεια! Τάσος |
| Η ώρα είναι 02:35. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.