Kaip peržiūrėti „Excel“ darbalapį naudojant VBA

Bendrinti dabar:

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ą.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

„Excel“ failų korupcijaRetkarčiais susiduriame su darbaknygių sugadinimu tokiu mastu, kad pati „Excel“ programa negali jų atkurti. Tai yra katastrofa daugumai „Excel“ naudotojų, įskaitant ir ekspertus. Tačiau jei turite veiksmingą atkūrimo įrankį, galite atkurti duomenis. sugadinti xlsx failai lengvai ir greitai.

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

Bendrinti dabar:

Komentarai yra uždaryti.