VBA Keresse meg az értéket az oszlopban

Ez a cikk bemutatja, hogyan lehet a VBA segítségével értéket keresni egy oszlopban.

Használhatjuk a Range.Find programot, hogy ciklusban végighaladhassunk a VBA értékoszlopán, hogy megtaláljuk a tartomány összes celláját, amelyek megfelelnek a megadott feltételeknek.

Lépés a Range.Find és Range.FindNext oszlopok között

Az alábbi példában az oszlopban lévő adatokat hurkoljuk, és a „lejárt” szót keressük. Amikor megtalálja a szót, akkor megjelöli a cellát, és a cella szövegét vörösre változtatja. Ezután a Range.FindNext módszerrel lépünk a következő cellába, és folytatjuk a szó keresését, folytatva a ciklust a megadott cellatartomány végéig.

1234567891011121314151617 Rész FindLoop ()Dim strFirstAddress karakterlánckéntDim rngFindValue mint tartományDim rngSearch As RangeDim rngFind As RangeÁllítsa be az rngFind = ActiveSheet.Range ("F1: F17")Állítsa be az rngSearch = rngFind.Cells (rngFind.Cells.Count)Állítsa be az rngFindValue = rngFind.Find ("Késedelmes", rngSearch, xlValues)Ha nem, akkor az rngFindValue semmistrFirstAddress = rngFindValue.AddressrngFindValue.Font.Color = vbRedTeddÁllítsa be az rngFindValue = rngFind.FindNext (rngFindValue) értéketrngFindValue.Font.Color = vbRedCiklus rngFindValue.Address = strFirstAddressVége HaEnd Sub

Amikor a kód fut, elmenti annak az első cellának a címét, ahol az adatok megtalálhatók a változóban strFirstAddress és a szöveg színét vörösre változtatja. Ezután egy ciklus jön létre a következő cella megtalálásához, amely tartalmazza a szükséges adatokat. Ha megtalálta az értéket, a szöveg színe vörösre változik, majd összehasonlítja a cella címét, ahol az érték megtalálható, és összehasonlítja a karakterlánccal strFirstAddress. Ha ezek nem azonosak, a ciklus folytatódik, és megkeresi a „Késedelmes” szó minden egyes példányát. Amint a ciklus eléri a cellatartomány végét (pl. F17), a tartomány (F1) elején kezdődik, és folytatja a hurkot. Miután másodszor eléri az F3 cellacímet, mivel megegyezik a tárolt változóval strFirstAddress, a hurok leáll.

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave