| Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Μερικές φορές η ανάγκη δημιουργεί εκπλήξεις ανακαλύπτοντας το πόσο σημαντικό είναι να υπάρχουν τόσα χέρια βοήθειας σε ένα τόσο όμορφο μέρος. Μπράβο σας Στο θέμα μου τώρα: Προσπαθώ εδώ και μέρες να φτιάξω μια φόρμα τιμολογίου στο excel Και συναντώ την εξής δυσκολία: Σε μια αναδυόμενη λίστα που έχω δημιουργήσει σε περίπου 20 κελιά ενός φύλου, η οποία παίρνει δεδομένα από ένα άλλο φύλλο, δεν μπορώ να βρω λύση με τις διπλές εγγραφές! Ρωτώντας βρήκα κάποιες λύσεις, όπως την μορφοποίηση και το χρωματισμό των διπλών εγγραφών, αλλά δεν με ικανοποιεί, εάν όχι απόλυτα, βαριά κουβέντα, δεν ικανοποιεί το σχέδιο που έχω για τη φόρμα που θέλω να δημιουργήσω: Θέλω να πω θα μου ήταν πιο ευχάριστο να βγάζει ένα μήνυμα που να με προειδοποιεί για την διπλή εγγραφή! Το αν μπορώ να την περάσω (την εγγραφή) δεν με ενδιαφέρει και τόσο. Συγνώμη εάν κούρασα. Επισυνάπτω πιο κάτω ένα πράδειγμα... |
|
#2
|
|
Καλησπέρα Βασίλη καλώς ήρθες στην παρέα μας. Ο πιο κάτω κώδικας VBA θα πρέπει να επικολληθεί στο φύλλο (συμβάν Change) Κώδικας: 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
Ο κώδικας εκτελείται αν στην στήλη Α υπάρχει διπλότυπο Αφού δείξει μνμ μετά διαγράφει την διπλότυπη εγγραφή. Αν θέλετε άλλη στήλη αλλάξτε στην γραμμή If Evaluate("Countif(D:D," & Target.Address & ")") > 1 Then και στην γραμμή If Target.Column = 4 And Len(Target.Value) > 0 Then τα γράμματα και τον αριθμό με τον αντίστοιχο αρ. στήλης που θέλετε πχ για D στήλη = D:D & 4 κλπ. Τελευταία επεξεργασία από το χρήστη Spirosgr : 09-10-14 στις 17:27. |
|
#3
| |||
| |||
|
Τι να πω τώρα! Κάθ' ένας τη δουλειά του Σπύρο....άμεσα και στοχευμένα...χίλια ευχαριστώ... Ο κώδικας είναι διαμάντι και για μένα βέβαια κάτι σαν κινέζικα. Δεν είμαι εντελώς άσχετος αλλά από κώδικα Αυτό που θέλω να ρωτήσω κάνοντας κατάχρηση τον κόπο σας είναι ότι έχοντας συγχωνεύσει μερικά κελιά, η λίστα στέκετε σε 3-4 κελιά λόγω σχεδίασης, μου βγάζει το εξής μήνυμα και δεν λειτουργεί,ο κώδικας:Run-time error '1004': Δεν είναι δυνατή η αλλαγή τμήματος ενός συγχωνεμένου κελιού. Κάνοντας αλλαγή τον κώδικά σου σε: Παράθεση:
Αυτό που θέλω βέβαια να ρωτήσω όπως αναφέρω πιο πάνω είναι πως μπορεί ο κώδικας να χρησιμοποιηθεί σε συγχωνευμένα κελιά! Ότι και να απαντήσετε δεκτό! Να είστε πάντα καλά. |
|
#4
|
|
Τα συγχωνευμένα κελιά, γενικά δημιουργούν πολλά προβλήματα. Καλό είναι να μην τα χρησιμοποιούμε. Εδώ που τα λέμε, είναι άχρηστη λειτουργία. Υπάρχουν τρόποι και την μορφή ενός εγγράφου να έχουμε όπως κι αν την θέλουμε, αλλά και από εδώ (βλέπε εικόνα) να έχουμε στοίχιση στο κέντρο, επιλεγμένων κελιών. |
|
#5
| |||
| |||
|
Καλησπέρα σας. θα ήθελα την βοήθεια σας σχετικά με την εύρεση διπλότυπων εγγραφών από ένα φύλλο 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. |
|
#6
| |||
| |||
|
Καλημέρα Κώστα, δες μια πρόταση στο συνημμένο Φιλικά/Γιώργος Τελευταία επεξεργασία από το χρήστη kapetang : 06-11-15 στις 10:06. Αιτία: Αλλαγή συνημμένου (βελτίωση κώδικα) |
|
#7
|
|
Καλημέρα Θεωρώ, ότι δεν υπάρχει ανάγκη, για καμία αλλαγή. Ο αρχικός κώδικας, είναι αρκετός, διότι ελέγχει το παραστατικό, που αυτό βασικά μας ενδιαφέρει, να μην είναι διπλότυπο. Παράδειγμα επιτρεπτό Κώδικας: Πελάτης.......Παραστατικό...........Ποσό Πελάτης1......100...................205 Πελάτης2......101...................205 Πελάτης1......102...................300 Κώδικας: Πελάτης.......Παραστατικό...........Ποσό Πελάτης1......100...................205 Πελάτης2......101...................205 Πελάτης1......100...................300 Δεν μπορεί να υπάρχουν σε αρ. παραστατικού. |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [Συναρτήσεις] Διπλοτυπα mail | NIC | Excel - Ερωτήσεις / Απαντήσεις | 2 | 25-08-16 07:16 |
| [Γενικά] Αναδυομενη λιστα με κριτηρια | Nikos G | Excel - Ερωτήσεις / Απαντήσεις | 3 | 12-12-15 19:54 |
| [Γενικά] Συμβατότητα από excel 2007 σε excel 2013 | gfevran | Excel - Ερωτήσεις / Απαντήσεις | 2 | 12-04-14 11:01 |
| Λίστα γενεθλίων στην Excel | Tasos | Ημερομηνία & ώρα | 0 | 13-10-11 11:26 |
Η ώρα είναι 05:11.


Αυτό που θέλω να ρωτήσω κάνοντας κατάχρηση τον κόπο σας είναι ότι έχοντας συγχωνεύσει μερικά κελιά, η λίστα στέκετε σε 3-4 κελιά λόγω σχεδίασης, μου βγάζει το εξής μήνυμα και δεν λειτουργεί,ο κώδικας:
Αλλαγή σε γραμμικό τρόπο

