Μερικές φορές είναι χρήσιμο να διαβάζετε ένα φύλλο εργασίας ανά γραμμή και να λαμβάνετε επιλεκτικά δεδομένα από αυτό. Ένα παράδειγμα παρακάτω δείχνει πώς να το κάνετε αυτό.
Το άρθρο προϋποθέτει ότι ο αναγνώστης έχει εμφανιστεί την κορδέλα προγραμματιστή και είναι εξοικειωμένος με τον επεξεργαστή VBA. Εάν όχι, παρακαλώ "Google Tab Developer Excel" ή "Excel Code Window".
Το ακόλουθο παράδειγμα χειρίζεται τα δεδομένα εξετάζοντας κάθε σειρά διευθύνσεων ηλεκτρονικού ταχυδρομείου και συνδυάζοντάς τα σε μία γραμμή διευθύνσεων. Ενώ το Excel διαθέτει ενσωματωμένες συναρτήσεις Transpose, σκοπεύουμε με τον κωδικό μας να αποκλείσουμε ορισμένους συγκεκριμένους παραλήπτες και να προσθέσουμε οριοθέτες.
Η εφαρμογή μας χρειάζεται μόνο ένα φύλλο. Αντιγράψτε τις παρακάτω πληροφορίες στο κελί A1:
| 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

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