Bəzən iş vərəqini sətir-sətir oxumaq və ondan məlumat almaq faydalıdır. Aşağıdakı nümunə bunun necə ediləcəyini göstərir.
Məqalə oxucunun Tərtibatçı lentinin göstərildiyini və VBA Redaktoru ilə tanış olduğunu güman edir. Əgər belə deyilsə, lütfən Google “Excel Developer Tab” və ya “Excel Code Window”.
Aşağıdakı nümunə e-poçt ünvanlarının hər bir cərgəsini araşdıraraq və onları bir ünvan xəttinə birləşdirərək məlumatları idarə edir. Excel daxili Transpoze funksiyalarına malik olsa da, biz kodumuzla bəzi konkret ünvanları istisna etmək və ayırıcılar əlavə etmək niyyətindəyik.
Tətbiqimizə yalnız bir vərəq lazımdır. Aşağıdakı məlumatları A1 xanasına köçürün:
| E-poçt ünvanı |
| tcruise@paramount.com |
| julia.R@disney.com |
| Jules.dassin@gaumont.co.fr |
| EnricoFellini@cinecitta.co.it |
| marymontrary@bedlam.org.uk |
Kodu işə salmaq üçün formada bir düymə qoyun.
Tutaq ki, bu cür e-poçtların sayı cəmi beş deyil, yüzlərlədir; hər birinə eyni mesajı və ssenarimizin eyni surətini göndərmək istəyirik. Bunu etməyin bir neçə yolu var, ən əsası isə Outlook kimi e-poçt göndərənə VBA kodundan zəng etməkdir. Lakin bu çalışma iki məqsədə xidmət edir:
- İş vərəqində asanlıqla necə dönəcəyinizi göstərin;
- Excel-in hər bir cərgəni yoxlamaq və ona uyğun hərəkət etmək qabiliyyətini vurğulayın.
VBA kodu
VBA kodu bütün ünvanları birləşdirəcək, hər birinin ardınca nöqtəli vergül işarəsi qoyacaq ki, onlar e-poçtun ünvan sahəsinə bir keçiddə yapışdırıla bilsinlər. Koddan qeyd edəcəksiniz ki, sətirləri araşdırdıqdan sonra fransızları istisna edəcək.
Modul daxil edin və aşağıdakıları daxil edin:
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
Kod aktiv xananı A sütununda saxlayır, yalnız sətirlər irəliləyir. Ardıcıl olaraq başqa yerdə məlumata istinad etmək üçün istifadə edəcəyik:
Variable = Activecell.offset(offset rows, offset columns)
Məsələn, aktiv cərgədə B sütunundan bir dəyər əldə etmək üçün kod oxunmalıdır Activecell.ofset(0, 1). A2-də olduğumuz zaman A3-nin dəyərini almaq üçün oxuyarıq Activecell.offset(-1, 0).
Kodunuzu yoxlamaq üçün düyməni “Əsas” makrosuna təyin edin.
Bəzi İnternet Xidməti Provayderləri, spam əleyhinə tədbir olaraq, bir dəfəyə göndərə biləcəyiniz e-poçtların sayını məhdudlaşdıra bilər. Bu üsuldan istifadə edirsinizsə, bir anda yüzlərlə e-poçt göndərməzdən əvvəl onlarla əlaqə saxlamaq daha yaxşıdır.
Excel Fayl Korrupsiyasının İdarə Edilməsi

Müəllif Giriş:
Feliks Hooker məlumatların bərpası üzrə mütəxəssisdir DataNumendaxil olmaqla məlumatların bərpası texnologiyaları üzrə dünya lideri olan , Inc təmir rar korrupsiya və sql bərpa proqram məhsulları. Ətraflı məlumat üçün ziyarət edin www.datanumen.com
