VBA ilə Excel İş Vərəqinizdə necə dönmək olar

İndi paylaş:

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.Kodu Başlamaq üçün Formaya Düymə Yerləşdirin

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

Excel faylının korlanmasıZaman zaman iş dəftərlərinin zədələnməsi ilə Excel-in özünün onları bərpa edə bilməməsi ilə qarşılaşırıq. Bu, mütəxəssislər də daxil olmaqla, əksər Excel istifadəçiləri üçün bir fəlakətdir. Lakin, əlinizdə effektiv bir bərpa vasitəsi varsa, bərpa edə bilərsiniz. zədələnmiş xlsx faylları asanlıqla və tez.

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

İndi paylaş:

Şərhlər bağlıdır.