Včasih je koristno prebrati delovni list po vrsticah in selektivno jemati podatke iz njega. Spodnji primer prikazuje, kako to storiti.
Članek predvideva, da ima bralec prikazan trak za razvijalce in da je seznanjen z urejevalnikom VBA. V nasprotnem primeru prosimo za Google »Excel Developer Tab« ali »Excel Code Window«.
Naslednji primer manipulira s podatki tako, da preuči vsako vrstico e-poštnih naslovov in jih združi v eno naslovno vrstico. Medtem ko ima Excel vgrajene funkcije Transpose, nameravamo z našo kodo izključiti nekatere posebne naslovnike in dodati ločila.
Naša aplikacija potrebuje samo en list. Kopirajte spodnje podatke v celico A1:
| E-mail naslov |
| tcruise@paramount.com |
| julia.R@disney.com |
| Jules.dassin@gaumont.co.fr |
| EnricoFellini@cinecitta.co.it |
| marymontrary@bedlam.org.uk |
Postavite gumb na obrazec za začetek kode.
Predpostavimo, da je teh e-poštnih sporočil na stotine namesto le pet; vsakemu želimo poslati isto sporočilo in isto kopijo našega scenarija. To lahko storimo na več načinov, predvsem pa s klicanjem e-poštnega programa, kot je Outlook, iz kode VBA. Vendar pa ta vaja služi dvema namenoma:
- Pokažite, kako enostavno kolesarite po delovnem listu;
- Poudarite sposobnost Excela, da preuči vsako vrstico in ukrepa po njej.
Koda VBA
Koda VBA bo združila vse naslove in za vsakim vstavila podpičje, tako da jih bo mogoče z enim potezom prilepiti v polje naslovnika e-pošte. Iz kode boste opazili, da bo po pregledu vrstic izključila francoske.
Vstavite modul in vnesite naslednje:
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
Koda ohranja aktivno celico v stolpcu A, le vrstice se premikajo naprej. Za sklicevanje na informacije drugje zapored bi uporabili:
Variable = Activecell.offset(offset rows, offset columns)
Če bi na primer dobili vrednost iz stolpca B v aktivni vrstici, bi se koda prebrala Activecell.offset (0, 1). Če bi dobili vrednost A2, ko smo v A3, bi prebrali Activecell.offset (-1, 0).
Če želite preizkusiti kodo, dodelite gumb makru »Main«.
Nekateri ponudniki internetnih storitev lahko kot previdnostni ukrep omejijo število e-poštnih sporočil, ki jih lahko pošljete hkrati. Če uporabljate to metodo, je verjetno najbolje, da se z njimi posvetujete, preden naenkrat odprete na stotine e-poštnih sporočil.
Obravnavanje poškodovanih datotek Excel

Uvod avtorja:
Felix Hooker je strokovnjak za obnovitev podatkov v DataNumen, Inc., ki je vodilna na svetu na področju tehnologij za obnovitev podatkov, vključno z popravilo rar korupcija in sql programske izdelke za obnovitev. Za več informacij obiščite www.datanumen.com
