A ciklusok és az üzemeltető, ha - a makrók excel

Már tudom, az alapvető VBA Excel és hogyan reagálnak rájuk. Itt az ideje lépni a valódi automatizálás.

Cycles - ismétlődő cselekvések. Néha meg kell csinálni ugyanazt a műveletet többször (pl öt lapot helyezzen be egy oszlopot a fenti adatok vagy címe), és előfordul, hogy meg kell csinálni néhány intézkedés „egészen mostanáig.” (Például amíg egy karakterlánc, amely tartalmazza azokat az adatokat). A VBA e két esetben két sorozat: „A” - megismételni egy akció egy meghatározott számú alkalommal, és „a” - megismételni az intézkedés „egészen mostanáig.”. A különbség a két ciklus csak egy: az első esetben, tudod, hogy hányszor kell megismételni a ciklust, és a második - nem tudom, de tudom, mikor kell abbahagyni. Vannak más ciklusok, de könnyen le tudjuk cserélni a két.

Vegyük például be kell helyeznünk öt lapot, például az első oszlopot üresen.

I = 1-től 5 „hozzárendel egy értéket egy változó i az első alkalommal 1,

„Majd 1 minden új hívás

„Cycle. Érték 5 tart.

Lemezek (i) .Activate „aktiválja a következő lapot

Oszlopok (1) .Insert „beillesztjük az első oszlopban

Következő i „a ciklus végéig, azaz a végén a cselekvési lista,

„Meg kell csinálni 5-ször egymás után

While ciklus használják gyakrabban, mint a For. mert sokszor nem tudom, hányszor kell csinálni bizonyos intézkedéseket. Ezt alkalmazzák, például, ha keres vonalak adott kritériumoknak. Tekintsük a következő példát: az oszlopokban vannak adatok - név (1. oszlop), a neve (2. oszlop), apai (3), születési dátum (4). Meg kell találnunk Ivanova, például, hogy távolítsa el a bázist. Tegyük fel, tudjuk, hogy az ember egyedül van. Ezután a program lehet:

i = 2 „meghatározni, hogy melyik alapvonaltól kezdődik (az első sorban elhelyezett fejlécek)

Do While Cells (i, 1)<>„Ivanov” „csinálni, ameddig

Ennek eredményeként, a ciklus véget ér a kívánt vonalon. Ez után lehet csinálni ezt a vonalat semmit.

Vagy talán nem tudjuk, hogy hány Smiths adatbázisunkban, és azt akarjuk, hogy távolítsa el őket. Itt kell a feltételes állítás Ha

Ha egy feltételes utasítás (ha) úgy hívják, mert ellenőrzi a következő feltételt. Ahhoz, hogy megértsük, hogyan működik ez nagyon egyszerű: ha a feltétel teljesül, akkor erre, különben erre. Vegyük a példában, meg kell végigmenni a teljes adatbázis, vagyis mindaddig, amíg a vonalak nem üres, azaz:

Do While C ells (i, 1)<>„”

Megjegyezzük, hogy fontos, hogy ne legyenek hézagok. Ha az adatbázis tartalmaz sorok üres cellákat, megadhatja bonyolultabb körülmények között, mint például a

Do mindaddig ells (i, 1)<>"" És C Ells (i + 1,1)<>"" És C Ells (i + 2,1)<>„”

azaz meg kell három sor egy sorban voltak üres az első oszlopban. vagy

Do mindaddig ells (i, 1)<>"" És C Ells (i, 2)<>"" És C ells (i, 3)<>„”

hogy van, akkor kell, hogy az első, a második és a harmadik sorban oszlopot üresen.

Mi használja ezt a feltételt

Do mindaddig ells (i, 1)<>"" És C Ells (i, 2)<>"" És C ells (i, 3)<>„”

IfCells (i, 1) = "Smith", majd „Ha Ivanov vonal

Sorok (i) .Delete „, majd törölni a sort

i = i-1 „vissza a vonal felett

End If „záró állapot

i = i + 1 „a következő sorba