VBA yordamida Excel ish varag'ini qanday aylantirish mumkin

Hozir ulashing:

Ba'zan ish varag'ini satrga o'qish va undan ma'lumotlarni tanlab olish foydali bo'ladi. Quyidagi misol buni qanday qilishni ko'rsatadi.

Maqolada o'quvchi dasturchi tasmasi ko'rsatilgan va VBA muharriri bilan tanish deb taxmin qilinadi. Agar yo'q bo'lsa, Google "Excel Developer Tab" yoki "Excel Code Window".

Quyidagi misol elektron pochta manzillarining har bir qatorini tekshirish va ularni bitta manzil qatoriga birlashtirish orqali ma'lumotlarni boshqaradi. Excel o'rnatilgan Transpose funktsiyalariga ega bo'lsa-da, biz o'z kodimiz bilan ba'zi aniq manzillarni chiqarib tashlash va chegaralovchilarni qo'shish niyatidamiz.

Bizning arizamiz faqat bitta varaqni talab qiladi. Quyidagi ma'lumotlarni A1 katakka ko'chiring:

Elektron pochta manzili
tcruise@paramount.com
julia.R@disney.com
Jules.dassin@gaumont.co.fr
EnricoFellini@cinecitta.co.it
marymontrary@bedlam.org.uk

Kodni ishga tushirish uchun formaga tugmani qo'ying.Kodni ishga tushirish uchun formaga tugmani qo'ying

Aytaylik, bunday elektron pochta xabarlari atigi beshta emas, balki yuzlab bor; biz har biriga bir xil xabarni va ssenariyimizning bir xil nusxasini yuborishni xohlaymiz. Buni amalga oshirishning bir nechta usullari mavjud, eng muhimi, VBA kodidan Outlook kabi elektron pochta xabarini yuboruvchiga qo'ng'iroq qilish orqali. Biroq, bu mashq ikkita maqsadga xizmat qiladi:

  • Ish varag'i bo'ylab oson aylanishni ko'rsating;
  • Excelning har bir satrni tekshirish va unga amal qilish qobiliyatini ta'kidlang.

VBA kodi

VBA kodi barcha manzillarni birlashtiradi va har biridan keyin nuqta-vergul qo'yadi, shuning uchun ularni elektron pochta manzili maydoniga bir marta qo'yish mumkin. Koddan shuni ta'kidlaysizki, qatorlarni o'rganib chiqqandan so'ng, u frantsuzlarni chiqarib tashlaydi.

Modulni joylashtiring va quyidagilarni kiriting:

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 faol katakchani A ustunida saqlaydi, faqat satrlar oldinga siljiydi. Boshqa qatordagi ma'lumotlarga havola qilish uchun biz quyidagilarni ishlatamiz:

Variable = Activecell.offset(offset rows, offset columns)

Faol qatordagi B ustunidan qiymat olish uchun, masalan, kod o'qiladi Activecell.offset(0, 1). Biz A2 da bo'lganimizda A3 qiymatini olish uchun o'qing Activecell.offset(-1, 0).

Kodni sinab ko'rish uchun tugmani "Asosiy" makrosiga belgilang.

Ba'zi Internet-provayderlar spamga qarshi ehtiyot chorasi sifatida bir vaqtning o'zida yuborishingiz mumkin bo'lgan xatlar sonini cheklashi mumkin. Agar siz ushbu usuldan foydalansangiz, bir vaqtning o'zida yuzlab elektron pochta xabarlarini yuborishdan oldin ular bilan tekshirish yaxshidir.

Excel faylining buzilishi bilan ishlash

Excel faylining buzilishiVaqti-vaqti bilan biz ish daftarlarining buzilishiga shu qadar duch kelamizki, Excelning o'zi ularni tiklay olmaydi. Bu ko'pchilik Excel foydalanuvchilari, jumladan, mutaxassislar uchun falokatdir. Biroq, agar sizda samarali tiklash vositasi bo'lsa, uni tiklashingiz mumkin. zararlangan xlsx fayllari oson va tez.

Muallif kirish:

Feliks Xuker ma'lumotlarni qayta tiklash bo'yicha mutaxassis DataNumenMa'lumotlarni qayta tiklash texnologiyalari bo'yicha jahon yetakchisi bo'lgan , Inc ta'mirlash rar korruptsiya va sql-ni tiklash dasturiy mahsulotlar. Qo'shimcha ma'lumot olish uchun tashrif buyuring www.datanumen.com

Hozir ulashing:

Comments are closed.