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

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
