![]() |
Διπλότυπα σε αναδυόμενη λίστα στο excel 2007 1 Συνημμένο(α) Μερικές φορές η ανάγκη δημιουργεί εκπλήξεις ανακαλύπτοντας το πόσο σημαντικό είναι να υπάρχουν τόσα χέρια βοήθειας σε ένα τόσο όμορφο μέρος. Μπράβο σας :thumbup: συνεχίστε! Στο θέμα μου τώρα: Προσπαθώ εδώ και μέρες να φτιάξω μια φόρμα τιμολογίου στο excel Και συναντώ την εξής δυσκολία: Σε μια αναδυόμενη λίστα που έχω δημιουργήσει σε περίπου 20 κελιά ενός φύλου, η οποία παίρνει δεδομένα από ένα άλλο φύλλο, δεν μπορώ να βρω λύση με τις διπλές εγγραφές! Ρωτώντας βρήκα κάποιες λύσεις, όπως την μορφοποίηση και το χρωματισμό των διπλών εγγραφών, αλλά δεν με ικανοποιεί, εάν όχι απόλυτα, βαριά κουβέντα, δεν ικανοποιεί το σχέδιο που έχω για τη φόρμα που θέλω να δημιουργήσω: Θέλω να πω θα μου ήταν πιο ευχάριστο να βγάζει ένα μήνυμα που να με προειδοποιεί για την διπλή εγγραφή! Το αν μπορώ να την περάσω (την εγγραφή) δεν με ενδιαφέρει και τόσο. Συγνώμη εάν κούρασα. Επισυνάπτω πιο κάτω ένα πράδειγμα... |
Καλησπέρα Βασίλη καλώς ήρθες στην παρέα μας. Ο πιο κάτω κώδικας VBA θα πρέπει να επικολληθεί στο φύλλο (συμβάν Change) Κώδικας: Private Sub Worksheet_Change(ByVal Target As Range)Ο κώδικας εκτελείται αν στην στήλη Α υπάρχει διπλότυπο Αφού δείξει μνμ μετά διαγράφει την διπλότυπη εγγραφή. Αν θέλετε άλλη στήλη αλλάξτε στην γραμμή If Evaluate("Countif(D:D," & Target.Address & ")") > 1 Then και στην γραμμή If Target.Column = 4 And Len(Target.Value) > 0 Then τα γράμματα και τον αριθμό με τον αντίστοιχο αρ. στήλης που θέλετε πχ για D στήλη = D:D & 4 κλπ. |
Τι να πω τώρα! Κάθ' ένας τη δουλειά του Σπύρο....άμεσα και στοχευμένα...χίλια ευχαριστώ... Ο κώδικας είναι διαμάντι και για μένα βέβαια κάτι σαν κινέζικα. Δεν είμαι εντελώς άσχετος αλλά από κώδικα:wall: Αυτό που θέλω να ρωτήσω κάνοντας κατάχρηση τον κόπο σας είναι ότι έχοντας συγχωνεύσει μερικά κελιά, η λίστα στέκετε σε 3-4 κελιά λόγω σχεδίασης, μου βγάζει το εξής μήνυμα και δεν λειτουργεί,ο κώδικας: Run-time error '1004': Δεν είναι δυνατή η αλλαγή τμήματος ενός συγχωνεμένου κελιού. Κάνοντας αλλαγή τον κώδικά σου σε: Παράθεση:
Αυτό που θέλω βέβαια να ρωτήσω όπως αναφέρω πιο πάνω είναι πως μπορεί ο κώδικας να χρησιμοποιηθεί σε συγχωνευμένα κελιά! Ότι και να απαντήσετε δεκτό! Να είστε πάντα καλά. |
1 Συνημμένο(α) Τα συγχωνευμένα κελιά, γενικά δημιουργούν πολλά προβλήματα. Καλό είναι να μην τα χρησιμοποιούμε. Εδώ που τα λέμε, είναι άχρηστη λειτουργία. Υπάρχουν τρόποι και την μορφή ενός εγγράφου να έχουμε όπως κι αν την θέλουμε, αλλά και από εδώ (βλέπε εικόνα) να έχουμε στοίχιση στο κέντρο, επιλεγμένων κελιών. |
Διπλότυπα σε αναδυόμενη λίστα στο excel 2007 με 2 κριτήρια 1 Συνημμένο(α) Καλησπέρα σας. θα ήθελα την βοήθεια σας σχετικά με την εύρεση διπλότυπων εγγραφών από ένα φύλλο excel. ο κώδικας που βρήκα με την βοήθεια του Spyrosgr που τον ευχαριστώ που τον είχε δημοσιεύσει για προηγούμενο θέμα είναι αυτός: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Len(Target.Value) > 0 Then If Evaluate("Countif(A:A," & Target.Address & ")") > 1 Then MsgBox "Η Εγγραφή «" & Target.Value & "» υπάρχει ήδη και θα διαγραφεί.", _ vbInformation, "Διαπιστώθηκε Διπλότυπο!" Range(Target.Address).ClearContents End If End If End Sub Ο συγκεκριμένος είναι πολύ καλή λύση για τις διπλότυπες εγγραφές αλλά στην δική μου περίπτωση θέλω να βρίσκω διπλότυπες εγγραφές όταν τηρούνται 2 κριτήρια από 2 στήλες. Ευχαριστώ εκ των προτέρων. Συνεχίστε την καλή δουλειά. Επισυνάπτω ένα παράδειγμα αυτού που θέλω να κάνω. Οι στήλες που θέλω να ελέγχονται είναι οι C και D. |
1 Συνημμένο(α) Καλημέρα Κώστα, δες μια πρόταση στο συνημμένο Φιλικά/Γιώργος |
Καλημέρα Θεωρώ, ότι δεν υπάρχει ανάγκη, για καμία αλλαγή. Ο αρχικός κώδικας, είναι αρκετός, διότι ελέγχει το παραστατικό, που αυτό βασικά μας ενδιαφέρει, να μην είναι διπλότυπο. Παράδειγμα επιτρεπτό Κώδικας: Πελάτης.......Παραστατικό...........ΠοσόΚώδικας: Πελάτης.......Παραστατικό...........ΠοσόΔεν μπορεί να υπάρχουν σε αρ. παραστατικού. |
| Η ώρα είναι 04:07. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.