როგორ გავატაროთ თქვენი Excel სამუშაო ფურცელი VBA-ით

გააზიარე ახლა:

ზოგჯერ სასარგებლოა სამუშაო ფურცლის სტრიქონი-სტრიქონის წაკითხვა და მისგან მონაცემების შერჩევით აღება. ქვემოთ მოყვანილი მაგალითი გვიჩვენებს, თუ როგორ უნდა გავაკეთოთ ეს.

სტატიაში ვარაუდობენ, რომ მკითხველს აქვს დეველოპერის ლენტი ნაჩვენები და იცნობს 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 ფაილის კორუფციის მართვა

Excel ფაილის კორუფციადროდადრო სამუშაო წიგნების დაზიანებას ვაწყდებით იმ დონემდე, რომ თავად Excel-ს არ შეუძლია მათი აღდგენა. ეს კატასტროფაა Excel-ის მომხმარებლების უმეტესობისთვის, მათ შორის ექსპერტებისთვისაც. თუმცა, თუ ხელთ გაქვთ ეფექტური აღდგენის ინსტრუმენტი, შეგიძლიათ აღადგინოთ ისინი. დაზიანებული xlsx ფაილები მარტივად და სწრაფად.

ავტორი შესავალი:

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

გააზიარე ახლა:

კომენტარები დახურულია.