Click here to load reader

VBA pro MS Excel - · PDF fileProcedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události Cykly Základní funkce (matematické,

  • View
    216

  • Download
    0

Embed Size (px)

Text of VBA pro MS Excel - · PDF fileProcedury, funkce, události Operátory a...

  • Petr Blaha

  • Zklady programovn Promnn Procedury, funkce, udlosti Opertory a podmnkov logika Objekt Range a Cells, odkazy Vlastnosti, metody a udlosti Cykly Zkladn funkce (matematick, textov, data a

    asu) Message box a prompt Zadvn funkce do buky Funkce s parametrem

  • Automatizace

    Vytvoen vlastn funkce

    Vytvoen zcela nov aplikace

  • Promnn Msto v pamti pro uloen informace

    Rozsah Lokln

    Globln

  • Teoreticky cokoliv v anglick klvesnici, bez mezer a znak jako !, %, -,/ atd

    Jednoznan nzvy

    Nap: dnes, rovnice, pocet_obratek,

    dlouheCeleCislo

  • Typ Velikost Rozsah Vznam

    Byte 1 bajt 0-255 Binrn data

    Integer 2 bajty -32.768 a 32.768 Zkladn cel sla

    Long 4 bajty -2 mld. a + 2 mld. Rozen cel sla

    Single 4 bajty Desetinn sla (6 mst)Zkladn desetinn

    sla

    Double 8 bajt Desetinn sla (12 mst)Rozen

    desetinn sla

    Decimal 14 bajt Desetinn sla (28 mst) Nelze deklarovat

  • Typ Velikost Rozsah Vznam

    Currency 8 bajt 4 desetinn msta Rychlej vpoty

    String rzn 2x109 znak Textov hodnoty

    Boolean 2 bajty 0 nebo 1 (true/false) Logick hodnota

    Date 8 bajt 1.1 100 a 31.12.9999 datum

    Object 4 bajty objekt Odkaz na objekt

    VariantMin. 16 bajt

    libovoln Pro neznm typy

  • Procedura Srie pkaz, kter se maj provst

    Funkce Srie pkaz, kter se maj provst

    Vrac hodnotu

  • Akce, kterou vyvol uivatel nebo systm, na kterou je aplikace schopn reagovat

    Oteven seitu, zaven seitu, aktivace buky

  • Funkce Opertor

    Umocnn ^

    Nsoben, dlen *,/

    Zbytek po dlen mod

    Stn, odtn +,-

    Logick funkce NOT, AND, OR, XOR

    etzov &

    Zkladn =, >,

  • Application

    Workbooks

    Sheets

    Range Charts Tables PivotTables

  • Odkaz na buku, buky,oblast buek, sloupec/dek, cel list

    Range(A1) odkaz na buku A1

    Range(A1:B5) odkaz na buky A1 a B5

    Range(A1,B5,C6:D6) odkaz na buky A1, B5 a C6 a D6

    Range(ahoj) - odkaz na pojemnovanouoblast ahoj

  • Range(A1).offset(2,2).select Vybere buku o 2 vpravo a o 2 ne ne A1

    Selection.end(argument).select Vybere posledn buku dle argumentu xlDown,xlUp,xlToLeft,xlToRight

    Selection.resize(x,y).select Zmen vybranou oblast na x a y

    Range(Selection,Selection.End(xlUp)).Select Vybere ve od vybran oblasti a po posledn buku

    nahoru Ekvivalent je Ctrl+Shift+ipka nahoru

  • Odkaz na buku, buky,oblast buek, sloupec/dek, cel list

    Cells(1,1) odkaz na buku A1

    ALE!!!

    Range(Cells(1, 1), Cells(2, 5)) odkaz na buky A1 a B5

  • pln odkaz na:

    Buku A1 v VBA.xlsx na listu1:

    Application.Worksheets(VBA.xlsx).Sheets(List1).Range(A1)

    Pokud programujeme na stejnm listu:

    Range(A1)

  • Metadata objekt:

    Buka Vlastnosti: Font, Velikost psma, hodnota,

    Metody: Vybrat, Vymazat, Koprovat

    Seit Vlastnosti: Jmno, ochrana, typ

    Metody: Vybrat, Vymazat, Koprovat

    Udlosti: ped/po kliknut my, po kalkulaci, po pepotn

  • Range(A1).Select

    Range(A1).Font

    Range(A1).copy range(B2)

    ActiveSheet.creator

    ActiveSheet.move

    Sub Activesheet_onChange()

    End sub

  • ->Monosti aplikace Excel->Centrum zabezpen ->Nastaven centra zabezpeen ->Povolit vechny makra

  • Alt + F11

  • Sub vyber()

    Range(A1).select

    End sub

  • Sub vyber()

    Range(A1).select

    Selection.Font.Name = Arial

    Selection.Font.Size = 15

    Selection.Value = AHOJ

    End sub

  • IF podmnka THEN Pkazy kdy je podmnka splnna

    ELSE Pkazy kdy nen podmnka splnna

    END IF

    Mon podmnky: A>B

    Cislo=5

    (Dnes=ptek AND ztra=sobota)

  • Select Case PromnnCase Hodnota1

    Pkazy, kdy Promnn=Hodnota1Case Hodnota2

    Pkazy, kdy Promnn=Hodnota2Case Hodnota3

    Pkazy, kdy Promnn=Hodnota3Case Else

    Pkazy, kdy Promnn=nco jinhoEnd Select

  • Do While podmnka

    pkazy

    Loop

    Do Until podmnka

    pkazy

    Loop

  • FOR podmnka TO podmnka STEP krok

    pkazy

    NEXT

  • Dim ws As Worksheet

    For Each ws In Application.Worksheets

    ws.Visible = True

    ws.Range("A1").Value = "Bla"

    Next

  • FOR i=0 TO 9999 STEP 1

    cells(i,15).value=i

    IF i=55 THEN

    EXIT FOR

    END IF

    NEXT

  • Matematick Abs(hodnota) absolutn hodnota

    Round(hodnota,[desetiny]) zaokrouhlen na [desetiny]

    Sqrt(hodnota) - odmocnina

  • Textov Left(text,dlka),Right(text,dlka)

    vrt uren poet znak zleva/zprava

    Mid(text,zatek,[dlka])

    vrt cel text(ppadn [dlka] znak od zatku

    Trim(text)

    Osek mezery ped a za

    Lcase(text), Ucase(text)

    Pevede text na mal/velk psmena

  • Textov InStr([zatek],text1,text2,[porovnn])

    Vrt slo 1.pozice textu2 v textu1 ponaje znakem [zatek]nebo 0 pi nenalezen.

    [porovnan]

    0 pro binrn porovnn (vbBinaryCompare)

    1 pro textov porovnn (vbTextCompare)

    Replace(vraz,hledat,nahradit,[zatek],[poet],[porovnn]

    Nahrad ve vrazu text hledat za nahradit poetkrt za pouit porovnn viz ve

  • Datum a as

    Day(datum),Month(datum),Year(datum)

    WeekDay(datum,[zatekTdne])

    DayDiff(interval,od,do,[prvnDenTdne]) Vrt poet interval (yyyy,m,d,h,) od data

    do data

    Now() vrt 12.4.2009 13:52:44

    Hour(as),Minute(as),Second(as)

  • MsgBox(text,[buttons],[title], [HelpFile])

    Zobraz text v infookn

    Buttons vbOKOnly, vbOKCancel, vbAbortRetryIgnore,

    vbYesNoCancel, vbYesNo,vbRetryCancel

    Title nadpis

    HelpFile odkaz na mstn npovdu

  • InputBox(text,[title], [default], [xpos], [ypos],[helpFile], [HelpContextId])

    Zobraz okno s monost vstupu

    Text vzva k zadn

    Default pedvyplnn hodnota

    Xpos,Ypos pozice okna

    HelpFile, HelpContextId odkaz na help

  • Sub upravVelikostFontu(velikost)

    selection.font.size=velikost

    End sub

  • Range(A1).formula=Average(A2:B5)

    Range(A1).formulaR1C1=Average(R2C1:R5C5)

    Range(A1).formulaLocal=prmr(A2:B5)

    Range(A1).formulaR1C1=prmr(R2C1:R5C5)

  • Activate

    Calculate

    Change

    Deactivate

    BeforePrint

  • Activate

    BeforeClose

    BeforePrint

    BeforeSave

    BeforePrint

    Deactivate Open SheetCalculate SheetChange StartUp

  • http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.aspx

Search related