Mõnikord on kasulik töölehte rida-realt lugeda ja sellelt valikuliselt andmeid võtta. Allolev näide näitab, kuidas seda teha.
Artiklis eeldatakse, et lugejal on kuvatud arendaja lint ja ta tunneb VBA redaktorit. Kui ei, siis kasutage Google'i „Exceli arendaja vahekaarti” või „Exceli koodi akent”.
Järgmine näide manipuleerib andmetega, uurides iga e-posti aadressi rida ja ühendades need üheks aadressireale. Kuigi Excelil on sisseehitatud Transpose funktsioonid, kavatseme oma koodiga välistada mõned konkreetsed adressaadid ja lisada eraldajad.
Meie rakendus vajab ainult ühte lehte. Kopeerige allolev teave lahtrisse A1:
| E-posti aadress |
| tcruise@paramount.com |
| julia.R@disney.com |
| Jules.dassin@gaumont.co.fr |
| EnricoFellini@cinecitta.co.it |
| marymontrary@bedlam.org.uk |
Koodi käivitamiseks asetage vormile nupp.
Oletame, et neid e-kirju on viie asemel sadu; tahame saata igaühele sama sõnumi ja sama koopia oma stsenaariumist. Selleks on mitu võimalust, most eriti helistades meili saatjale, nagu Outlook, VBA-koodist. Sellel harjutusel on aga kaks eesmärki:
- Näidake, kuidas hõlpsalt töölehte läbida;
- Tõstke esile Exceli võime iga rida uurida ja tegutsege selle järgi.
VBA kood
VBA-kood ühendab kõik aadressid, lisades iga järele semikooloni, et need saaks korraga kleepida meili adressaadiväljale. Märkate koodist, et pärast ridade uurimist välistab see prantsuskeelsed.
Sisestage moodul ja sisestage järgmine:
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
Kood hoiab aktiivset lahtrit veerus A, edasi liiguvad ainult read. Teabe viitamiseks mujal reas kasutaksime järgmist:
Variable = Activecell.offset(offset rows, offset columns)
Näiteks aktiivse rea veerust B väärtuse saamiseks loeks kood Activecell.offset(0, 1). Et saada A2 väärtust, kui oleme A3-s, loeks Activecell.offset(-1, 0).
Koodi testimiseks määrake nupp makrole "Põhi".
Mõned Interneti-teenuse pakkujad võivad rämpspostivastase ettevaatusabinõuna piirata korraga saadetavate meilide arvu. Kui kasutate seda meetodit, on ilmselt kõige parem nendega enne sadade meilide ühekorraga saatmist nendega ühendust võtta.
Exceli faili korruptsiooni käsitlemine

Autori sissejuhatus:
Felix Hooker on andmete taastamise ekspert DataNumen, Inc., mis on maailmas juhtiv andmete taastamise tehnoloogiate, sealhulgas remont rar korruptsioon ja SQL-i taastamise tarkvaratooted. Lisateabe saamiseks külastage www.datanumenCom
