Paano I-loop ang Iyong Excel Worksheet gamit ang VBA

Ipamahagi ngayon:

Ito ay kapaki-pakinabang kung minsan na basahin ang isang worksheet na linya-by-line at piliing kumuha ng data mula dito. Ipinapakita ng isang halimbawa sa ibaba kung paano ito gawin.

Ipinapalagay ng artikulo na ang mambabasa ay ipinapakita ang Developer ribbon at pamilyar sa VBA Editor. Kung hindi, mangyaring Google "Excel Developer Tab" o "Excel Code Window".

Ang sumusunod na halimbawa ay minamanipula ang data sa pamamagitan ng pagsusuri sa bawat hilera ng mga email address at pagsasama-sama ng mga ito sa isang linya ng address. Habang ang Excel ay may mga built-in na Transpose function, nilalayon namin sa aming code na ibukod ang ilang partikular na addressee at magdagdag ng mga delimiter.

Ang aming aplikasyon ay nangangailangan lamang ng isang sheet. Kopyahin ang impormasyon sa ibaba sa cell A1:

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

Maglagay ng button sa form para simulan ang code.Maglagay ng Button sa Form Para Masimulan Ang Code

Ipagpalagay natin na daan-daan ang mga email na ito sa halip na lima lamang; gusto nating ipadala ang parehong mensahe at ang parehong kopya ng ating iskrip sa bawat isa. Mayroong ilang mga paraan upang gawin ito, lalo na sa pamamagitan ng pagtawag sa emailer, tulad ng Outlook, mula sa VBA code. Gayunpaman, ang pagsasanay na ito ay nagsisilbi sa dalawang layunin:

  • Ipakita kung paano madaling umikot sa pamamagitan ng worksheet;
  • I-highlight ang kakayahan ng Excel na suriin ang bawat hilera, at kumilos ayon dito.

Ang VBA Code

Pagsasama-samahin ng VBA code ang lahat ng mga address, na maglalagay ng semi-colon pagkatapos ng bawat isa, upang mai-paste ang mga ito nang isang beses sa field ng addressee ng email. Mapapansin mo mula sa code na, pagkatapos suriin ang mga hilera, ibubukod nito ang mga French.

Magsingit ng isang module, at ipasok ang sumusunod:

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

Pinapanatili ng code ang aktibong cell sa column A, ang mga row lang ang nagpapatuloy. Upang sumangguni sa impormasyon sa ibang lugar sa isang hilera, gagamitin namin ang:

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

Para makakuha ng value mula sa column B sa aktibong row, halimbawa, mababasa ang code Activecell.offset(0, 1). Upang makuha ang halaga ng A2 kapag kami ay nasa A3 ay magbabasa Activecell.offset(-1, 0).

Upang subukan ang iyong code, italaga ang button sa macro na "Main".

Ang ilang Internet Service Provider, bilang pag-iingat laban sa spam, ay maaaring limitahan ang bilang ng mga email na maaari mong ipadala nang sabay-sabay. Kung gagamitin mo ang paraang ito, malamang na pinakamahusay na suriin sa kanila bago magpadala ng daan-daang mga email nang sabay-sabay.

Pangangasiwa sa Excel File Corruption

Excel File CorruptionPaminsan-minsan ay nakakaranas tayo ng pagkasira ng mga workbook na hindi na kayang i-recover ng Excel mismo. Isa itong malaking sakuna para sa karamihan ng mga gumagamit ng Excel, kabilang na ang mga eksperto. Gayunpaman, kung mayroon kang epektibong tool sa pag-recover, maaari mong i-restore ang mga ito. nasira xlsx file madali at mabilis.

Panimula ng May-akda:

Si Felix Hooker ay isang dalubhasa sa pagbawi ng data sa DataNumen, Inc., na pinuno ng mundo sa mga teknolohiya sa pagbawi ng data, kasama ang magkumpuni rar katiwalian at mga produkto ng software sa pag-recover ng sql. Para sa karagdagang impormasyon pagbisita www.datanumen. Sa

Ipamahagi ngayon:

Mga komento ay sarado.