Excel-ийн ажлын хуудсаа VBA ашиглан хэрхэн давтах вэ?

Одоо хуваалцах:

Заримдаа ажлын хуудсыг мөр мөрөөр нь уншиж, түүгээр өгөгдлийг сонгон авах нь заримдаа ашигтай байдаг. Үүнийг хэрхэн яаж хийхийг доорхи жишээн дээр харуулав.

Нийтлэл нь уншигч нь Developer туузыг харуулсан бөгөөд 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

Кодыг эхлүүлэх товчлуурыг маягтанд байрлуул.Кодыг эхлүүлэх товчлуурыг маягтанд байрлуулна уу

Ийм имэйл ердөө таван биш, хэдэн зуун байна гэж бодъё; бид тус бүрдээ ижил мессеж, кино зохиолынхоо ижил хуулбарыг илгээхийг хүсэж байна. Үүнийг хийх хэд хэдэн арга байдаг бөгөөд хамгийн гол нь VBA кодоос Outlook гэх мэт имэйл илгээгчийг дуудах явдал юм. Гэсэн хэдий ч энэ дасгал нь хоёр зорилготой:

  • Ажлын хуудсаар дамжуулан хэрхэн амархан дугуйгаар явахыг харуулах;
  • 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

Код нь идэвхжсэн нүдийг А баганад хадгалдаг бөгөөд зөвхөн мөрүүд цааш шилждэг. Мэдээллийг өөр дарааллын дагуу лавлахын тулд бид дараахь зүйлийг ашиглана.

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

Жишээлбэл, идэвхтэй мөрөнд байгаа Б баганаас утга авахын тулд код унших болно Activecell.offset (0, 1). Бид А2-т байхдаа А3-ийн утгыг унших болно Activecell.offset (-1, 0).

Кодоо шалгахын тулд товчлуурыг "Үндсэн" макро руу хуваарилна уу.

Зарим Интернэтийн үйлчилгээ үзүүлэгчид спамаас урьдчилан сэргийлэх үүднээс нэг дор илгээж болох имэйлийн тоог хязгаарлаж магадгүй юм. Хэрэв та энэ аргыг ашиглаж байгаа бол хэдэн зуун имэйлийг нэг дор илгээхээс өмнө тэдэнтэй уулзах нь зүйтэй болов уу.

Excel файлын авлигатай харьцах

Excel файлын авлигаБид ажлын дэвтэрүүд Excel өөрөө сэргээж чадахгүй болтлоо эвдэрсэн тохиолдолтой үе үе тулгардаг. Энэ нь мэргэжилтнүүдийг оролцуулан ихэнх Excel хэрэглэгчдийн хувьд гамшиг юм. Гэсэн хэдий ч хэрэв танд үр дүнтэй сэргээх хэрэгсэл байгаа бол та сэргээж чадна. гэмтсэн xlsx файлууд амархан бөгөөд хурдан.

Зохиогчийн танилцуулга:

Феликс Хүүкер бол мэдээлэл сэргээх мэргэжилтэн юм DataNumen, Үүнд мэдээлэл сэргээх технологиор дэлхийд тэргүүлэгч, Inc. засвар rar авлига болон sql сэргээх програм хангамжийн бүтээгдэхүүнүүд. Дэлгэрэнгүй мэдээллийг авна уу WWW.datanumen.com

Одоо хуваалцах:

Тайлбарууд нь хаалттай байна.