1 / 10

Visual Basic for Application (VBA)

Visual Basic for Application (VBA). Ciklusok, függvények. Feladatok. Készíts makrót, ami a egy táblázatban felcseréli az A és a D oszlopot, az E oszlopot pedig áthelyezi a B elé! Készíts makrót, ami egy táblázat első (fejléc) sorát 15 soronként megismétli!

verna
Download Presentation

Visual Basic for Application (VBA)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Visual Basic forApplication (VBA) Ciklusok, függvények

  2. Feladatok • Készíts makrót, ami a egy táblázatban felcseréli az A és a D oszlopot, az E oszlopot pedig áthelyezi a B elé! • Készíts makrót, ami egy táblázat első (fejléc) sorát 15 soronként megismétli! • Ehhez első lépésben vegyél fel egy makrót, ami az adott lapon kijelöli, majd másolja az első sort, ezután 15 sort lejjebb megy, és beilleszti a másolt tartalmat! • Következő lépésben oldd meg, hogy addig ismétlődjön a lejjebb lépés/beillesztés, amig üres sorhoz nem érünk! • Haladó: oldd meg, hogy a másolás előtt egy üres sort is szúrjon be a fejlécnek a makró!

  3. Emlékeztető • Elágazás: IffeltételThen teendők ha feltétel igaz Else teendők ha feltétel nem igaz End if

  4. Emlékeztető • Ciklus: DoUntilfeltétel teendők (ciklusmag) lépés a következő elemre! Loop • Addig ismétli a ciklusmagot, amig a feltétel igazzá nem válik. • Létezik hátultesztelős változat, ami legalább egyszer mindenképpen lefut, illetve Until helyett While-t használó, ami akkor áll le, ha a feltétel hamissá válik.

  5. Feladatok • Készíts makrót, ami egy oszlop elemein végigszalad, és ha egymás utáni ismétlődést talál, törli az ismétlődő elemet tartalmazó cellát! Figyelj oda, hogy a makró akkor is jól működjön, ha egymás után többször ismétlődik egy elem! A lépésenkénti futtatás segíthet. • Készíts makrót, ami „észreveszi” és jelöli valahogy, ha egy növekvően rendezett listában hibás, tehát az előtte lévőnél kisebb elemet talál!

  6. Feladatok • A http://vacip.web.elte.hu/excel/feladatok/VBA tárhelyről töltsd le a VBA3.xls-t, és oldd meg rajta a következő feladatokat! • A BP balances lapon: • Készíts függvényt, ami az első oszlop számaiból kihámozza a számot! Tehát le kell vágni az USD-t, el kell hagyni a fölösleges szóközöket, a csillagot és a vesszőt, és a tizedespontot tizedesvesszőre kell cserélni. • Ezután készíts makrót, ami az A oszlopon végigszalad az aljáig, és minden cellát lecserél a letisztított számra!

  7. Feladatok • A dátumok lapon található számokat alakítsd dátummá! Az első egy vagy két karakter a nap, utána a hónap, majd az év következik. Készíts egy függvényt, ami minden alakra univerzálisan működik (Kell: HA()/IF(), DÁTUM()/DATE(), BAL()/LEFT(), KÖZÉP()/MID(), JOBB()/RIGHT(), HOSSZ()/LEN()). • Ezután a fentihez hasonlóan készíts makrót, ami lecseréli a számokat valódi sátumokra!

  8. Megoldások

  9. Fejléc ismételgető Sub fejléc_másoló() Cells(1, 1).Activate ActiveCell.Offset(15, 0).Select DoUntilActiveCell.Value = "" ActiveCell.EntireRow.Insert_ shift:=xlDown Rows("1:1").Copy ActiveSheet.Paste ActiveCell.Offset(15, 0).Select Loop Application.CutCopyMode = False End Sub

  10. Ismétlődők törlése Subism_törl1() DoUntilActiveCell.Value = "" IfActiveCell.Value= _ ActiveCell.Offset(1, 0).ValueThen Selection.Delete Else ActiveCell.Offset(1, 0).Select End If Loop End Sub

More Related