Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Διαχωρισμός σε άλλες στήλες
Ο κώδικας εκτελείται αλλά στο τέλος χτυπάει. Ευχαριστώ. |
#2
|
Καλημέρα Ο κώδικας είναι γραμμένος για να δουλεύει πάντα στις γραμμές 2 έως 7. Επειδή έχεις δύο ονόματα στο παράδειγμα, όταν τελειώσει με αυτά και δεν βρεί άλλα, φυσικό είναι να χτυπάει. Αυτό διορθώνεται αν βάλουμε: Κώδικας: On Error Resume Next Έχει όμως ένα μεγάλο σφάλμα στην διαχείριση των ονομάτων, αν έχει πληκτρολογήσει ο χρήστης κενά (Space) εκ παραδρομής, είτε στην αρχή είτε στο τέλος (πράγμα που διαπίστωσα ότι ισχύει) Το ΔΗΜΗΤΡΗΣ, ΚΟΝΤΟΣ, ακολουθείται από κενό... Θα πρότεινα να χρησιμοποιήσεις τον πιο κάτω κώδικα: Κώδικας: Sub SplitNames_Delimeter() Dim fName As String, iPos As Integer Dim Lrow As Long, i As Long Lrow = Sh1.Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To Lrow fName = Trim(Cells(i, 1).Value) iPos = InStr(fName, ",") Cells(i, 2).Value = Left(fName, iPos - 1) Cells(i, 3).Value = Mid(fName, iPos + 2) Next i End Sub Όπου Sh1 το κωδικό όνομα φύλλου. Ο κώδικας αυτός λειτουργεί σωστά αν: 1 Τα ονόματα είναι στην Α στήλη. Αν αλλάξει αυτό, αλλάζουμε τον κόκκινο αριθμό, με τον αριθμό στήλης. 2 Η μεταφορά γίνεται στις B - C Αν αλλάξει κάτι από αυτά, αλλάζουμε τους μπλε αριθμούς, με τους αριθμούς στηλών. 3 Διαχωριστικό είναι το , Αν αλλάξει, αλλάζουμε στην γραμμή Κώδικας: iPos = InStr(fName, ",") Παράδειγμα για διαχωριστικό - Κώδικας: iPos = InStr(fName, "-") Το διαχωριστικό ακολουθείται από ένα κενό (Space) Αν αλλάξει αυτό, θα πρέπει να προσαρμοστούν τόσο το Κώδικας: iPos = InStr(fName, ",") Κώδικας: Cells(i, 2).Value = Left(fName, iPos - 1) Cells(i, 3).Value = Mid(fName, iPos + 2) Κώδικας: iPos = InStr(fName, " ") Cells(i, 2).Value = Left(fName, iPos - 1) Cells(i, 3).Value = Right(fName, iPos + 1) Δεν υπάρχουν κενά ονόματα (γραμμές χωρίς δεδομένα) Αν πρέπει να υπάρχουν (;;;) τότε να γίνει και πάλι η χρήση του On Error Resume Next Τέλος... Εφ' όσον έχουμε μόνο επώνυμο και όνομα (χωρίς πατρώνυμο) η χρήση της Mid, μπορεί να αντικατασταθεί από την Right |
#3
| |||
| |||
Ευχαριστώ πολύ!
|
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Κύρια φόρμα με δεσμευμένο χώρο για άλλες δύο | γιώργοςΚ | Access - Ερωτήσεις / Απαντήσεις | 1 | 30-04-14 16:59 |
[ Πίνακες ] Διαχωρισμός πίνακα | gaz_manos | Access - Ερωτήσεις / Απαντήσεις | 12 | 05-06-13 07:52 |
[Γενικά] Αυτόματη εννημέρωση στήλης από άλλες | xristos | Excel - Ερωτήσεις / Απαντήσεις | 7 | 15-02-12 22:27 |
[VBA] Δεδομένα σε άλλες στήλες | sakplak | Excel - Ερωτήσεις / Απαντήσεις | 3 | 29-06-11 22:25 |
[ Εκθέσεις ] Διαχωρισμός ονοματεπώνυμου | mgeorge | Access - Ερωτήσεις / Απαντήσεις | 6 | 08-05-11 00:45 |
Η ώρα είναι 03:12.