VBA Leia väärtus veerust

See artikkel näitab, kuidas VBA abil veerust väärtust leida.

Saame kasutada valikut Range.Find, et VBA väärtuste veerust läbi vaadata, et leida kõik vahemikus olevad lahtrid, mis vastavad määratud kriteeriumidele.

Veerus Looping koos vahemikuga. Leia ja vahemik. Leia järgmine

Allolevas näites vaatame läbi veeru andmed ja otsime sõna „Hilinenud”. Kui see sõna leiab, märgib see lahtri, muutes lahtri teksti värvi punaseks. Seejärel kasutame meetodit Range.FindNext, et liikuda järgmisele lahtrile ja jätkata sõna otsimist, jätkates silmust kuni määratud lahtrite vahemiku lõpuni.

1234567891011121314151617 Alamotsingu alam ()Dim strFirstAddress stringinaDim rngFindValue kui vahemikDim rngSearch As RangeDim rngFind As RangeMäära rngFind = ActiveSheet.Range ("F1: F17")Määra rngSearch = rngFind.Cells (rngFind.Cells.Count)Määra rngFindValue = rngFind.Find ("Hilinenud", rngSearch, xlValues)Kui ei, siis pole rngFindValue midagistrFirstAddress = rngFindValue.AddressrngFindValue.Font.Color = vbRedTehkeMäära rngFindValue = rngFind.FindNext (rngFindValue)rngFindValue.Font.Color = vbRedTsükkel kuni rngFindValue.Address = strFirstAddressLõpp KuiEnd Sub

Koodi käivitamisel salvestab see esimese lahtri aadressi, kus andmed muutujast leiti strFirstAddress ja muudab teksti värvi punaseks. Seejärel luuakse silmus järgmise lahtri leidmiseks, mis sisaldab vajalikke andmeid. Väärtuse leidmisel muudetakse teksti värv punaseks ja seejärel võrreldakse selle lahtri aadressi, kus väärtus leitakse strFirstAddress. Kui need pole samad, jätkub tsükkel, leides iga sõna „Viivitatud” eksemplari. Kui silmus jõuab lahtrite vahemiku lõppu (st F17), algab see vahemiku (F1) algusest tagasi ja jätkab tsüklit. Kui see jõuab teist korda lahtri aadressini F3, kuna see on sama mis salvestatud muutuja strFirstAddress, tsükkel peatub.

wave wave wave wave wave