Kartais naudinga eilutę perskaityti darbalapį ir pasirinktinai iš jo paimti duomenis. Toliau pateiktame pavyzdyje parodyta, kaip tai padaryti.
Straipsnyje daroma prielaida, kad skaitytojas turi rodomą kūrėjo juostelę ir yra susipažinęs su VBA redaktoriumi. Jei ne, naudokite Google „Excel Developer Tab“ arba „Excel Code Window“.
Toliau pateiktame pavyzdyje duomenys manipuliuojami išnagrinėjant kiekvieną el. pašto adresų eilutę ir sujungiant juos į vieną adreso eilutę. Nors „Excel“ yra integruotos perkėlimo funkcijos, savo kodu ketiname išskirti kai kuriuos konkrečius adresatus ir pridėti skyriklius.
Mūsų programai reikia tik vieno lapo. Nukopijuokite toliau pateiktą informaciją į langelį A1:
| El-pašto adresas |
| tcruise@paramount.com |
| julia.R@disney.com |
| Jules.dassin@gaumont.co.fr |
| EnricoFellini@cinecitta.co.it |
| marymontrary@bedlam.org.uk |
Uždėkite mygtuką ant formos, kad pradėtumėte kodą.
Tarkime, kad tokių el. laiškų yra šimtai, o ne tik penki; norime kiekvienam iš jų išsiųsti tą patį pranešimą ir tą pačią scenarijaus kopiją. Tai padaryti galima keliais būdais, ypač iškviečiant el. laiškų siuntėją, pvz., „Outlook“, iš VBA kodo. Tačiau šis pratimas turi du tikslus:
- Parodykite, kaip lengvai pereiti per darbalapį;
- Paryškinkite „Excel“ galimybę išnagrinėti kiekvieną eilutę ir imkitės veiksmų.
VBA kodas
VBA kodas sujungs visus adresus, po kiekvieno įterpdamas kabliataškį, kad juos būtų galima vienu ypu įklijuoti į el. laiško adresato lauką. Iš kodo pastebėsite, kad ištyrus eilutes, prancūzų kalbos bus pašalintos.
Įdėkite modulį ir įveskite:
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
Kodas išlaiko aktyvų langelį A stulpelyje, tik eilutės juda toliau. Norėdami nurodyti informaciją kitur iš eilės, naudotume:
Variable = Activecell.offset(offset rows, offset columns)
Pavyzdžiui, norint gauti reikšmę iš B stulpelio aktyvioje eilutėje, kodas nuskaitomas Activecell.offset(0, 1). Norėdami gauti A2 vertę, kai esame A3, skaitytume Activecell.offset(-1, 0).
Norėdami išbandyti savo kodą, priskirkite mygtuką makrokomandai „Pagrindinis“.
Kai kurie interneto paslaugų teikėjai, siekdami apsaugoti nuo šlamšto, gali apriboti el. laiškų, kuriuos galite siųsti vienu metu, skaičių. Jei naudojate šį metodą, tikriausiai geriausia pasitarti su jais prieš išsiunčiant šimtus el. laiškų vienu kartu.
„Excel“ failų korupcijos tvarkymas

Autoriaus įvadas:
Felixas Hookeris yra duomenų atkūrimo ekspertas DataNumen, Inc., kuri yra pasaulyje duomenų atkūrimo technologijų lyderė, įskaitant remontas rar korupcija ir sql atkūrimo programinės įrangos produktai. Norėdami gauti daugiau informacijos, apsilankykite WWW.datanumen.com
