VBA Nađi vrijednost u stupcu

Ovaj članak će pokazati kako koristiti VBA za pronalaženje vrijednosti u stupcu.

Možemo upotrijebiti Range.Find da prođemo kroz stupac vrijednosti u VBA -i kako bismo pronašli sve ćelije u rasponu koje odgovaraju navedenim kriterijima.

Petlja kroz stupac s Range.Find i Range.FindNext

U donjem primjeru pregledavamo podatke u stupcu i tražimo riječ "dospjelo". Kad pronađe riječ, označit će ćeliju promjenom boje teksta ćelije u crvenu. Tada će se metodom Range.FindNext premjestiti na sljedeću ćeliju i nastaviti tražiti riječ, nastavljajući petlju do kraja navedenog raspona ćelija.

1234567891011121314151617 Sub FindLoop ()Dim strFirstAddress As StringDim rngFindValue As RangeDim rngSearch As RangePriguši rngFind As RangePostavi rngFind = ActiveSheet.Range ("F1: F17")Postavi rngSearch = rngFind.Cells (rngFind.Cells.Count)Postavi rngFindValue = rngFind.Find ("Zakašnjelo", rngSearch, xlValues)Ako nije rngFindValue nije ništa ondastrFirstAddress = rngFindValue.AddressrngFindValue.Font.Color = vbRedČiniPostavi rngFindValue = rngFind.FindNext (rngFindValue)rngFindValue.Font.Color = vbRedPetlja do rngFindValue.Address = strFirstAddressZavrši akoKraj podm

Kada se kôd pokrene, sprema adresu prve ćelije u kojoj se podaci nalaze u varijabli strFirstAddress i mijenja boju teksta u crvenu. Zatim se stvara petlja za pronalaženje sljedeće ćelije koja sadrži potrebne podatke. Kad se vrijednost pronađe, boja teksta se mijenja u crvenu, a zatim se adresa ćelije u kojoj se nalazi vrijednost uspoređuje s nizom strFirstAddress. Ako nisu isti, petlja se nastavlja, pronalazeći svaku instancu riječi "dospjelo". Kad petlja dosegne kraj raspona ćelija (tj. F17), počet će s početka raspona (F1) i nastaviti se petljati. Nakon što drugi put dosegne adresu ćelije F3, jer je ista kao pohranjena varijabla strFirstAddress, petlja će se zaustaviti.

wave wave wave wave wave