Excel’is ir paprasta macros komanda

Categories MS ExcelPosted on

Ms-excel

Pastebėjau, kad Lietuvos blogosferoje nėra nė vieno blogo, kuris kažką rašytų MS Excel tema. Na, o gal yra, bet aš nepastebėjau, todėl sakykim, kad nėra. Taip jau atsitiko, kad pakeičiau pareigas ir dabar visa mano darbo dieną prabėga atsidarius Excelio sheet’us. Kasdien sužinau vis ką nors naujo ir įdomaus. Todėl tomis žiniomis pasidalinsiu ir čia. Kartais tai bus galbūt kas nors labai elementaraus, bet gal ne visiems žinoma. Tai vat, jeigu ir patiems kyla kokių nors klausimų šia tema – rašykit nes ir man daug dalykų dar yra nežinomų ir būtų įdomu sužinoti.

Taigi, šiandien susidūriau su naujiena savo gyvenime – macros’ais. Macros’us tenka naudoti kai paprastoms excel’io funkcijoms nebeužtenka galių. Šiandien turėjau tam tikrą formą ir joje turėjo būti toks funkcionalumas, kad uždėjus x viename langelyje excel’io lape atsiranda papildomos eilutės su reikalinga užpildyti informacija.

Pateiksiu pavyzdėlį kaip tai veikia. Sakykim turim tokią lentelę:

Fiksavimas

Tai dabar padarykim taip, kad langelyje šalia „Taip“ įrašius „x“ žemiau esanti lentelė pradingtų. Na, ji ne šiaip pradings, o tiesiog 5-8 eilutės bus paslėptos.

Pirmiausia reikia į meniu juostą įtraukti „Developer“ kortelę. Einam File–> Options –> Customize Ribbon ir ties Developer uždedam varnelę:

Fiksavimas

Atsiranda tokia Developer kortelė:

Fiksavimas

Spaudžiam kairėje esantį mygtuką „Visual Basic“:

Fiksavimas1Ant Sheet1 paspaudžiam du kartus su kairiu pelės klavišu, arba kartą dešiniu ir pasirinkti „View Code“. Ir tuomet rašome tokį koduką:

 

 

Sub Worksheet_Change(ByVal Target As Range)
If ActiveSheet.Name = „Sheet1“ Then

If Range(„E2“).Value = „“ Then
Rows(„5:8“).EntireRow.Hidden = False
ElseIf Range(„E2“).Value = „x“ Then
Rows(„5:8“).EntireRow.Hidden = True
End If

End If
End Sub

Fiksavimas6

Įrašę išsaugom ir uždarom developer langą. Kas angliškai supranta, tai kodas čia labai aiškus, ir net programavimo neišmanantiems. Todėl pakoreguoti taip pat nebus sunku.

Taigi įrašę į langelį E2 „x“ gauname:

Fiksavimas3

Eilutės pradedant 5 ir baigiant 9 užslėptos. Jei „x“ ištrinsime – jos vėl atsiras.