ზოგჯერ სასარგებლოა სამუშაო ფურცლის სტრიქონი-სტრიქონის წაკითხვა და მისგან მონაცემების შერჩევით აღება. ქვემოთ მოყვანილი მაგალითი გვიჩვენებს, თუ როგორ უნდა გავაკეთოთ ეს.
სტატიაში ვარაუდობენ, რომ მკითხველს აქვს დეველოპერის ლენტი ნაჩვენები და იცნობს VBA რედაქტორს. თუ არა, გთხოვთ Google „Excel Developer Tab“ ან „Excel Code Window“.
შემდეგი მაგალითი მანიპულირებს მონაცემებს ელ.ფოსტის მისამართების თითოეული მწკრივის შესწავლით და მათი ერთ მისამართის ხაზში შეერთებით. მიუხედავად იმისა, რომ Excel-ს აქვს ჩაშენებული Transpose ფუნქციები, ჩვენ ჩვენი კოდით ვაპირებთ გამოვრიცხოთ ზოგიერთი კონკრეტული ადრესატი და დავამატოთ დელიმიტერები.
ჩვენს აპლიკაციას სჭირდება მხოლოდ ერთი ფურცელი. დააკოპირეთ ქვემოთ მოცემული ინფორმაცია A1 უჯრედში:
| ელ-ფოსტის მისამართი |
| tcruise@paramount.com |
| julia.R@disney.com |
| Jules.dassin@gaumont.co.fr |
| EnricoFellini@cinecitta.co.it |
| marymontrary@bedlam.org.uk |
განათავსეთ ღილაკი ფორმაზე კოდის გასახსნელად.
დავუშვათ, რომ ასეთი ელფოსტა ხუთის ნაცვლად ასობითაა; გვინდა, რომ თითოეულ მათგანში ერთი და იგივე შეტყობინება და ჩვენი სცენარის ერთი და იგივე ასლი გავაგზავნოთ. ამის გაკეთების რამდენიმე გზა არსებობს, ყველაზე ცნობილი ელფოსტის გამომგზავნის, მაგალითად Outlook-ის, გამოძახება VBA კოდიდან. თუმცა, ეს სავარჯიშო ორ მიზანს ემსახურება:
- აჩვენეთ, თუ როგორ უნდა გადაადგილება მარტივად სამუშაო ფურცელში;
- მონიშნეთ Excel-ის უნარი შეისწავლოს თითოეული მწკრივი და იმოქმედოს მასზე.
VBA კოდი
VBA კოდი აერთიანებს ყველა მისამართს, ყოველი მათგანის შემდეგ წერს წერტილს, რათა მათი ერთჯერადად ჩასმა შესაძლებელი იყოს ელფოსტის ადრესატის ველში. კოდიდან შენიშნავთ, რომ რიგების შემოწმების შემდეგ ის გამორიცხავს ფრანგულს.
ჩადეთ მოდული და შეიყვანეთ შემდეგი:
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
კოდი ინახავს აქტიურ უჯრედს A სვეტში, მხოლოდ რიგები მოძრაობენ. ზედიზედ სხვაგან ინფორმაციის მითითებისთვის, ჩვენ გამოვიყენებთ:
Variable = Activecell.offset(offset rows, offset columns)
მაგალითად, აქტიურ მწკრივში B სვეტიდან მნიშვნელობის მისაღებად, კოდი წაიკითხავს Activecell.offset(0, 1). A2-ის მნიშვნელობის მისაღებად, როცა A3-ში ვართ, წაიკითხავდით Activecell.offset(-1, 0).
თქვენი კოდის შესამოწმებლად, მიანიჭეთ ღილაკი მაკრო "მთავარს".
ზოგიერთმა ინტერნეტ სერვისის პროვაიდერმა, როგორც სპამის საწინააღმდეგო სიფრთხილის ზომა, შესაძლოა შეზღუდოს იმ ელ.ფოსტის რაოდენობა, რომელთა გაგზავნა შეგიძლიათ ერთდროულად. თუ ამ მეთოდს იყენებთ, ალბათ ჯობია მათთან კონსულტაცია ასობით ელ. ფოსტის გაგზავნამდე.
Excel ფაილის კორუფციის მართვა

ავტორი შესავალი:
ფელიქს ჰუკერი არის მონაცემთა აღდგენის ექსპერტი DataNumen, Inc., რომელიც მსოფლიო ლიდერია მონაცემთა აღდგენის ტექნოლოგიებში, მათ შორის სარემონტო rar კორუფციის და sql აღდგენის პროგრამული პროდუქტები. დამატებითი ინფორმაციისთვის ეწვიეთ www.datanumen. ერთად
