Ανάλυση Ονομάζει τον τρόπο VBA

Σας έχει δοθεί ποτέ ένα φύλλο εργασίας του Excel με ονόματα, στο οποίο τα πλήρη ονόματα βρίσκονται όλα σε ένα κελί; Ο στόχος σας είναι να χωρίσετε τα ονόματα σε όνομα, επώνυμο — μια διαδικασία γνωστή ως ανάλυση. Μπορείτε να δοκιμάσετε να χρησιμοποιήσετε έναν τύπο ή/και μια συνάρτηση για βοήθεια ή μπορείτε να χρησιμοποιήσετε τον κώδικα της Visual Basic for Applications (VBA).

Μια κοινή προσέγγιση είναι να βρείτε το κενό μεταξύ του ονόματος και του επωνύμου και του voila! – ξέρετε πού τελειώνει το όνομα και πού αρχίζει το επώνυμο.

Εκτός αν έχετε ονόματα που είναι πιο σύνθετα στη δομή, όπως ο Δρ. William Healer ή ο Zak H. Sneezer III.

Εδώ είναι μια τυπική ρουτίνα VBA που εξετάζει κάθε όνομα, χαρακτήρα προς χαρακτήρα, μέχρι να βρει ένα κενό. Στη συνέχεια τοποθετεί ό,τι βρίσκεται στα αριστερά του διαστήματος σε μία στήλη και ό,τι βρίσκεται στα δεξιά του διαστήματος στη στήλη μετά.

Κάντε μέχρι το ActiveCell = "
thename = ActiveCell.Value
Για αναζήτηση = 1 To Len (το όνομα)
 If Mid(thename, look, 1) = " " Τότε
    ActiveCell.Offset(0, 1) = Αριστερά (το όνομα, κοιτάζοντας - 1)
    ActiveCell.Offset(0, 2) = Mid(thename, look + 1)
    Έξοδος για
 Τέλος εαν
Επόμενο
ActiveCell.Offset(1, 0).Ενεργοποίηση
Βρόχος

Αυτή η ρουτίνα είναι χρήσιμη για την ανάλυση ονομάτων με ένα μόνο διάστημα, όπως ο Harvey Wallbanger ή ο Tom Collins. Ο παρακάτω πίνακας δείχνει το αποτέλεσμα της εκτέλεσης του κώδικα σε ονόματα με περισσότερα από ένα κενά:

Ο Δρ Γουίλιαμ Θεραπευτής Ο Δρ. William Healer
Zak H. Sneezer III Ζακ H. Sneezer III

Αυτή δεν είναι μια καλή προσπάθεια ανάλυσης. Τα πήγε καλά για την ανάλυση των Harvey Wallbanger και Tom Collins, αλλά όχι τόσο καλά για τα άλλα ονόματα.

Εδώ είναι μια πιο ανεπτυγμένη τεχνική που επιστρέφει καλύτερα αποτελέσματα. Λάβετε υπόψη ότι η ανάλυση ονομάτων δεν είναι τέλεια, αλλά το να το κάνετε με αυτόν τον τρόπο κάνει καλύτερη δουλειά.

Η τεχνική είναι να μετρήσετε πόσα κενά υπάρχουν στο πλήρες όνομα και στη συνέχεια να χωρίσετε το όνομα σε ένα από τα κενά. Ειδικότερα, εάν υπάρχουν τρία ή περισσότερα κενά, χρησιμοποιήστε το διάστημα δύο μέσα από τα δεξιά ως χώρο διακοπής. Διαφορετικά, χρησιμοποιήστε τον δεξιότερο χώρο ως χώρο θραύσης.

Αυτή η διαδικασία εκτελείται σε μια υπορουτίνα VBA που καλεί μια συνάρτηση ενώ κάνει βρόχο στα ονόματα. Ο αριθμός των διαστημάτων καθορίζεται νωρίς στον κύριο βρόχο και η συνάρτηση επιστρέφει τη θέση όπου βρίσκεται το διάστημα διακοπής.

Sub parse_names()
  Εξασθενίστε το όνομα ως συμβολοσειρά
  Dim διαστήματα ως ακέραιος αριθμός
  Κάντε μέχρι το ActiveCell = "
    thename = ActiveCell.Value
    κενά = 0
    Για δοκιμή = 1 To Len (το όνομα)
      If Mid(thename, test, 1) = " " Τότε
      διαστήματα = κενά + 1
    Τέλος εαν
  Επόμενο
  Αν κενά >= 3 Τότε
    break_space_position = space_position(" ", thename, κενά - 1)
  Αλλού
    break_space_position = space_position(" ", thename, spaces)
  Τέλος εαν
  Αν κενά > 0 Τότε
    ActiveCell.Offset(0, 1) = Left(thename, break_space_position - 1)
    ActiveCell.Offset(0, 2) = Mid(thename, break_space_position + 1)
  Αλλού
    Αυτό ισχύει όταν το πλήρες όνομα είναι απλώς ένα μόνο όνομα χωρίς κενά
    ActiveCell.Offset(0, 1) = το όνομα
  Τέλος εαν
  ActiveCell.Offset(1, 0).Ενεργοποίηση
  Βρόχος
End Sub
Συνάρτηση space_position(what_to_look_for As String, what_to_look_in As String, space_count As Integer) Ως ακέραιος
  Dim loop_counter Ως ακέραιος αριθμός
    space_position = 0
    Για loop_counter = 1 To space_count
      space_position = InStr(loop_counter + space_position, what_to_look_in, what_to_look_for)
      Αν space_position = 0 Τότε βγείτε για
    Επόμενο
Λειτουργία τερματισμού

Ο παρακάτω πίνακας δείχνει πώς φαίνεται τώρα το αποτέλεσμα:

Ο Δρ Γουίλιαμ Θεραπευτής Ο Δρ Γουίλιαμ Θεραπευτής
Zak H. Sneezer III Ζακ Χ. Sneezer III

Η ανάλυση ονομάτων είναι τόσο τέχνη όσο και τεχνική διαδικασία. Σε αυτό το δεύτερο παράδειγμα, όλα τα ονόματα και τα επώνυμα βρίσκονται στις σωστές στήλες. Εάν εισήχθη ένα νέο μεγάλο όνομα με πέντε ή περισσότερα κενά, η ρουτίνα μπορεί να κάνει λάθος ανάλυση και ο κώδικας VBA θα χρειαζόταν περισσότερες δοκιμές υπό όρους. Αλλά αυτό το παράδειγμα είναι τώρα στο σωστό δρόμο ως ρουτίνα ανάλυσης ονομάτων με βιομηχανική αντοχή.

Leave a Comment

Τι είναι οι πίνακες ελέγχου και οι αναφορές στο Excel;

Τι είναι οι πίνακες ελέγχου και οι αναφορές στο Excel;

Στο Excel, είναι κρίσιμο να κατανοήσουμε τη διαφορά μεταξύ αναφορών και πινάκων εργαλείων για την αποτελεσματική ανάλυση και οπτικοποίηση δεδομένων.

Πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις

Πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις

Ανακαλύψτε πότε να χρησιμοποιήσετε το OneDrive για επιχειρήσεις και πώς μπορείτε να επωφεληθείτε από τον αποθηκευτικό χώρο των 1 TB.

Υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών στο Excel

Υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών στο Excel

Ο υπολογισμός του αριθμού ημερών μεταξύ δύο ημερομηνιών είναι κρίσιμος στον επιχειρηματικό κόσμο. Μάθετε πώς να χρησιμοποιείτε τις συναρτήσεις DATEDIF και NETWORKDAYS στο Excel για ακριβείς υπολογισμούς.

Πώς να ανανεώσετε τα δεδομένα συγκεντρωτικού πίνακα του Excel

Πώς να ανανεώσετε τα δεδομένα συγκεντρωτικού πίνακα του Excel

Ανακαλύψτε πώς να ανανεώσετε γρήγορα τα δεδομένα του συγκεντρωτικού πίνακα στο Excel με τέσσερις αποτελεσματικές μεθόδους.

Μια μακροεντολή Excel για απόκρυψη όλων εκτός από το ενεργό φύλλο εργασίας

Μια μακροεντολή Excel για απόκρυψη όλων εκτός από το ενεργό φύλλο εργασίας

Μάθετε πώς μπορείτε να χρησιμοποιήσετε μια μακροεντολή Excel για να αποκρύψετε όλα τα ανενεργά φύλλα εργασίας, βελτιώνοντας την οργάνωση του βιβλίου εργασίας σας.

Ιδιότητες πεδίου MS Access για να βεβαιωθείτε ότι οι καταχωρίσεις δεδομένων είναι ακριβείς

Ιδιότητες πεδίου MS Access για να βεβαιωθείτε ότι οι καταχωρίσεις δεδομένων είναι ακριβείς

Ανακαλύψτε τις Ιδιότητες πεδίου MS Access για να μειώσετε τα λάθη κατά την εισαγωγή δεδομένων και να διασφαλίσετε την ακριβή καταχώρηση πληροφοριών.

Πώς να κάνετε αυτόματη σύνοψη ενός εγγράφου του Word 2003

Πώς να κάνετε αυτόματη σύνοψη ενός εγγράφου του Word 2003

Ανακαλύψτε πώς να χρησιμοποιήσετε το εργαλείο αυτόματης σύνοψης στο Word 2003 για να συνοψίσετε εγγραφές γρήγορα και αποτελεσματικά.

Πώς να χρησιμοποιήσετε τη συνάρτηση PROB στο Excel

Πώς να χρησιμοποιήσετε τη συνάρτηση PROB στο Excel

Η συνάρτηση PROB στο Excel επιτρέπει στους χρήστες να υπολογίζουν πιθανότητες με βάση δεδομένα και πιθανότητες σχέσης, ιδανική για στατιστική ανάλυση.

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Τι σημαίνουν τα μηνύματα σφάλματος επίλυσης στο Excel;

Ανακαλύψτε τι σημαίνουν τα μηνύματα σφάλματος του Solver στο Excel και πώς να τα επιλύσετε, βελτιστοποιώντας τις εργασίες σας αποτελεσματικά.

Πώς να χρησιμοποιήσετε τη συνάρτηση FREQUENCY στο Excel

Πώς να χρησιμοποιήσετε τη συνάρτηση FREQUENCY στο Excel

Η συνάρτηση FREQUENCY στο Excel μετράει τις τιμές σε έναν πίνακα που εμπίπτουν σε ένα εύρος ή bin. Μάθετε πώς να την χρησιμοποιείτε για την κατανομή συχνότητας.