Πώς να κάνετε αναζήτηση μέσω του φύλλου εργασίας του Excel με VBA

Κοινή χρήση τώρα:

Μερικές φορές είναι χρήσιμο να διαβάζετε ένα φύλλο εργασίας ανά γραμμή και να λαμβάνετε επιλεκτικά δεδομένα από αυτό. Ένα παράδειγμα παρακάτω δείχνει πώς να το κάνετε αυτό.

Το άρθρο προϋποθέτει ότι ο αναγνώστης έχει εμφανιστεί την κορδέλα προγραμματιστή και είναι εξοικειωμένος με τον επεξεργαστή VBA. Εάν όχι, παρακαλώ "Google Tab Developer Excel" ή "Excel Code Window".

Το ακόλουθο παράδειγμα χειρίζεται τα δεδομένα εξετάζοντας κάθε σειρά διευθύνσεων ηλεκτρονικού ταχυδρομείου και συνδυάζοντάς τα σε μία γραμμή διευθύνσεων. Ενώ το Excel διαθέτει ενσωματωμένες συναρτήσεις Transpose, σκοπεύουμε με τον κωδικό μας να αποκλείσουμε ορισμένους συγκεκριμένους παραλήπτες και να προσθέσουμε οριοθέτες.

Η εφαρμογή μας χρειάζεται μόνο ένα φύλλο. Αντιγράψτε τις παρακάτω πληροφορίες στο κελί A1:

Email
tcruise@paramount.com
julia.R@disney.com
Jules.dassin@gaumont.co.fr
EnricoFellini@cinecitta.co.it
marymontrary@bedlam.org.uk

Τοποθετήστε ένα κουμπί στη φόρμα για να ξεκινήσετε τον κωδικό.Τοποθετήστε ένα κουμπί στη φόρμα για να ξεκινήσετε τον κωδικό

Ας υποθέσουμε ότι υπάρχουν εκατοντάδες τέτοια email αντί για μόνο πέντε. Θέλουμε να στείλουμε σε κάθε email το ίδιο μήνυμα και το ίδιο αντίγραφο του σεναρίου μας. Υπάρχουν διάφοροι τρόποι για να το κάνετε αυτό, κυρίως καλώντας τον emailer, όπως το Outlook, από κώδικα VBA. Ωστόσο, αυτή η άσκηση εξυπηρετεί δύο σκοπούς:

  • Δείξτε πώς μπορείτε να κάνετε κύκλο εύκολα σε ένα φύλλο εργασίας.
  • Επισημάνετε την ικανότητα του Excel να εξετάζει κάθε σειρά και να ενεργεί σε αυτήν.

Ο Κώδικας VBA

Ο κώδικας VBA θα συνενώσει όλες τις διευθύνσεις, εισάγοντας ένα τελείωμα μετά από κάθε μια, έτσι ώστε να μπορούν να επικολληθούν με μία φορά στο πεδίο του παραλήπτη του email. Θα παρατηρήσετε από τον κώδικα ότι, μετά την εξέταση των σειρών, θα εξαιρούνται οι γαλλικές.

Εισαγάγετε μια ενότητα και εισαγάγετε τα ακόλουθα:

Option Explicit
Dim strEmail As String
Dim strAll As String

Sub Main()
    strAll = ""
    Range("C2") = strAll     'clear previous program results
    Sheets("Sheet1").Select
    Range("A2").Select
    Do While ActiveCell > ""      'loop until row 7
        strEmail = ActiveCell
        If Right(strEmail, 2) <> "fr" Then      'exclude France
            strAll = strAll & strEmail & ";"
        End If
        Range("A" & ActiveCell.Row + 1).Select     'move on a row in the SAME column
    Loop
    Range("C2") = strAll
End Sub

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

Variable = Activecell.offset(offset rows, offset columns)

Για να λάβετε μια τιμή από τη στήλη B στην ενεργή σειρά, για παράδειγμα, ο κωδικός θα διαβάσει Activecell.offset (0, 1). Για να πάρει την τιμή του Α2 όταν είμαστε στο Α3 θα διαβάσει Activecell.offset (-1, 0).

Για να ελέγξετε τον κωδικό σας, αντιστοιχίστε το κουμπί στη μακροεντολή "Κύρια".

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

Χειρισμός της καταστροφής αρχείων του Excel

Διαφθορά αρχείου ExcelΚατά καιρούς αντιμετωπίζουμε την καταστροφή βιβλίων εργασίας σε σημείο που το ίδιο το Excel δεν μπορεί να τα ανακτήσει. Αυτό αποτελεί καταστροφή για τους περισσότερους χρήστες του Excel, συμπεριλαμβανομένων των ειδικών. Ωστόσο, εάν έχετε ένα αποτελεσματικό εργαλείο αποκατάστασης, μπορείτε να το επαναφέρετε. κατεστραμμένα αρχεία xlsx εύκολα και γρήγορα.

Εισαγωγή συγγραφέα:

Ο Felix Hooker είναι ειδικός στην ανάκτηση δεδομένων DataNumen, Inc., η οποία είναι ο παγκόσμιος ηγέτης στις τεχνολογίες ανάκτησης δεδομένων, συμπεριλαμβανομένων επισκευή rar διαφθορά και sql προϊόντα λογισμικού ανάκτησης. Για περισσότερες πληροφορίες επισκεφθείτε www.datanumen.com

Κοινή χρήση τώρα:

Τα σχόλια είναι κλειστά.