Excel VBA Course Notes: 2 - Fontstuff

7 downloads 183 Views 82KB Size Report
Excel VBA Course Notes: 2. Using Loops. (File: VBA02 Loops.xls). :K\ /RRSV". The purpose of a loop is to get Excel to repeat a piece of code a certain number of ...
(;&(/9%$

86,1*/2236

([FHO9%$&RXUVH1RWHV8VLQJ/RRSV )LOH9%$/RRSV[OV :K\/RRSV"

7KHSXUSRVHRIDORRSLVWRJHW([FHOWRUHSHDWDSLHFHRIFRGHDFHUWDLQQXPEHURIWLPHV+RZPDQ\WLPHVWKHFRGH JHWVUHSHDWHGFDQEHVSHFLILHGDVDIL[HGQXPEHU HJGRWKLVW LPHV RUDVDYDULDEOH HJGRWKLVIRUDVPDQ\ WLPHVDVWKHUHDUHURZVRIGDWD 

/RRSVFDQEHFRQVWUXFWHGPDQ\GLIIHUHQWZD\VWRVXLWGLIIHUHQWFLUFXPVWDQFHV2IWHQWKHVDPHUHVXOWFDQEHREWDLQHG LQGLIIHUHQWZD\VWRVXLW\RXUSHUVRQDOSUHIHUHQFHV7KH VHH[HUFLVHVGHPRQVWUDWHDVHOHFWLRQRIGLIIHUHQWZD\VWRXVH ORRSV

7KHUHDUHWZREDVLFNLQGVRIORRSVERWKRIZKLFKDUHGHPRQVWUDWHGKHUH 'R«/RRS DQG)RU«1H[W ORRSV7KHFRGH WREHUHSHDWHGLVSODFHGEHWZHHQWKHNH\ZRUGV

2SHQWKHZRUNERRN 9%$/RRSV[OV DQGWDNHDORRNDWWKHIRXUZRUNVKHHWV(DFKFRQWDLQVWZRFROXPQVRIQXPEHUV FROXPQV$DQG% 7KHUHTXLUHPHQWLVWRFDOFXODWHDQDYHUDJHIRUWKHQXPEHUVLQHDFKURZXVLQJD9%$PDFUR 1RZRSHQWKH9LVXDO%DVLF(GLWRU $OW) DQGWDNHDORRNDWWK HFRGHLQ0RGXOH@5&>@  $FWLYH&HOO2IIVHW  6HOHFW /RRS8QWLO ,V(PSW\ $FWLYH&HOO2IIVHW  (QG6XE

7KLVPDFURSODFHVDIRUPXODLQWRWKHDFWLYHFHOODQGPRYHVLQWRWKHQH[WFHOOGRZQ,WXVHV /RRS8QWLO WRWHOO([FHOWR NHHSUHSHDWLQJWKHFRGH XQWLO WKHFHOOLQWKHDGMDFHQWFROXPQ FROXPQ' LVHPSW\,QRWKHUZRUGVLWZLOONHHSRQ UHSHDWLQJDVORQJDVWKHUHLVVRPHWKLQJLQFROXPQ' 'HOHWHWKHGDWDIURPFHOOV && DQGUHDG\IRUWKHQH[WH[HUFLVH

([HUFLVH'R:KLOH«/RRS

7KHREMHFWRIWKLVPDFURLVWRUXQGRZQFROXPQ&DVIDUDVLVQHFHVVDU\SXWWLQJDFDOFXODWLRQLQHDFKFHOODVIDUDVLV QHFHVVDU\ 2Q6KHHWVHOHFWFHOO& DQGUXQWKHPDFUR /RRS +HUH VWKHFRGH

6XE /RRS

7KLVORRSUXQVDVORQJDVWKHUHLVVRPHWKLQJLQWKHQH[WFROXPQ 'R:KLOH ,V(PSW\ $FWLYH&HOO2IIVHW   )DOVH $FWLYH&HOO)RUPXOD5&  $YHUDJH 5&>@5&>@  $FWLYH&HOO2IIVHW  6HOHFW /RRS (QG6XE

7KLVPDFURGRHVWKHVDPHMREDVWKHODVWRQHXVLQ JWKHVDPHSDUDPHWHUVEXWVLPSO\H[SUHVVLQJWKHPLQDGLIIHUHQW ZD\,QVWHDGRIUHSHDWLQJWKHFRGH 8QWLO VRPHWKLQJRFFXUVLWGRHVVRPHWKLQJ :KLOH VRPHWKLQJLVWKHFDVH,WXVHV 'R :KLOH WRWHOO([FHOWRNHHSUHSHDWLQJWKHFRGH ZKLOH WKHUHLVVRPHWKLQJLQ WKHDGMDFHQWFROXPQDVRSSRVHGWR XQWLO WKHUHLVQRWKLQJWKHUH7KHIXQFWLRQ ,V(PSW\ )DOVH PHDQV,V1RW(PSW\ 'HOHWHWKHGDWDIURPFHOOV && DQGUHDG\IRUWKHQH[WH[HUFLVH ‹0DUWLQ*UHHQ

ZZZIRQWVWXIIFRP

 RI

(;&(/9%$

86,1*/2236

([HUFLVH'R:KLOH1RW«/RRS

7KHREMHFWRIWKLVPDFURLVWRUXQGRZQFROX PQ&DVIDUDVLVQHFHVVDU\SXWWLQJDFDOFXODWLRQLQHDFKFHOODVIDUDVLV QHFHVVDU\ 2Q6KHHWVHOHFWFHOO& DQGUXQWKHPDFUR /RRS +HUH VWKHFRGH

6XE /RRS

7KLVORRSUXQVDVORQJDVWKHUHLVVRPHWKLQJLQWKHQH[WFROXPQ 'R:KLOH1RW ,V(PSW\ $FWLYH&HOO2IIVHW  $FWLYH&HOO)RUPXOD5&  $YHUDJH 5&>@5&>@  $FWLYH&HOO2IIVHW  6HOHFW /RRS (QG6XE

7KLVPDFURPDNHVH[DFWO\WKHVDPHGHFLVLRQDVWKHODVWRQHEXWMXVWH[SUHVVHVLWLQDGLIIHUHQWZD\ ,V(PSW\ )DOVH PHDQVWKHVDPHDV1RW,V(PSW\6RPHWLPHV\RXFDQ WVD\ZKDW\RXZDQWWRVD\RQHZD\VR9%$RIWHQRIIHUVDQ DOWHUQDWLYHV\QWD[ 'HOHWHWKHGDWDIURPFHOOV && DQGUHDG\IRUWKHQH[WH[HUFLVH

([HUFLVH,QFOXGLQJDQ,)VWDWHPHQW

7KHREMHFWRIWKLVPDFURLVDV EHIRUHEXWZLWKRXWUHSODFLQJDQ\GDWDWKDWPD\DOUHDG\EHWKHUH 0RYHWR6KHHWVHOHFWFHOO& DQGUXQWKHPDFUR /RRS +HUH VWKHFRGH

6XE /RRS

7KLVORRSUXQVDVORQJDVWKHUHLVVRPHWKLQJLQWKHQH[WFROXPQ

,WGRHVQRWFDOFXODWHDQDYHUDJHLIWKHUHLVDOUHDG\VRPHWKLQJLQWKH FHOO 'R ,I ,V(PSW\ $FWLYH&HOO 7KHQ $FWLYH&HOO)RUPXOD5&  $YHUDJH 5&>@5&>@  (QG,I $FWLYH&HOO2IIVHW  6HOHFW /RRS8QWLO ,V(PSW\ $FWLYH&HOO2IIVHW  (QG6XE

7KHSUHYLRXVPDFUR VWDNHQRDFFRXQWRIDQ\SRVVLEOHFRQWHQWVWKDWPLJKWDOUHDG\EHLQWKHFHOOVLQWRZKLFKLWLVSODFLQJ WKHFDOFXODWLRQV7KLVPDFURXVHVDQ,)VWDWHPHQWWKDWWHOOV([FHOWRZULWHWKHFDOFXODWLRQ RQO\LI WKHFHOOLVHPSW\7KLV SUHYHQWVDQ\H[LVWLQJGDWDIU RPEHLQJRYHUZULWWHQ7KHOLQHWHOOLQJ([FHOWRPRYHWRWKHQH[WFHOOLV RXWVLGH WKH,) VWDWHPHQWEHFDXVHLWKDVWRGRWKDWDQ\ZD\

([HUFLVH$YRLGLQJ(UURUV

7KLVPDFURWDNHVWKH,)VWDWHPHQWDVWDJHIXUWKHUDQGGRHVQ WWU\WRFDOFXODWHDQDYHUDJHRIFH OOVWKDWDUHHPSW\ )LUVWORRNDWWKHSUREOHP0RYHWR 6KHHWVHOHFWFHOO& DQGUXQWKHPDFUR /RRS

1RWHWKDWEHFDXVHVRPHRIWKHSDLUVRIFHOOVLQFROXPQV$DQG%DUHHPSW\WKH $9(5$*(IXQFWLRQWKURZVXSD ',9HUURU WKH$YHUDJHIXQFWLRQDGGVWK HQXPEHUVLQWKHFHOOVWKHQGLYLGHVE\WKHQXPEHURIQXPEHUV  LIWKHUH DUHQ WDQ\QXPEHUVLWWULHVWRGLYLGHE\]HURDQG\RXFDQ WGRWKDW  'HOHWHWKHFRQWHQWVRIFHOOV && DQG&&6HOHFWFHOO& DQGUXQWKHPDFUR /RRS +HUH VWKHFRGH

6XE /RRS

7KLVORRSUXQVDVORQJDVWKHUHLVVRPHWKLQJLQWKHQH[WFROXPQ

,WGRHVQRWFDOFXODWHDQDYHUDJHLIWKHUHLVDOUHDG\VRPHWKLQJLQWKHFHOO

QRULIWKHUHLVQRGDWDWRDYHUDJH WRDYRLG',9HUURUV  'R ,I ,V(PSW\ $FWLYH&HOO 7KHQ ,I ,V(PSW\ $FWLYH&HOO2IIVHW  $QG ,V(PSW\ $FWLYH&HOO2IIVHW  7KHQ $FWLYH&HOO9DOXH  (OVH $FWLYH&HOO)RUPXOD5&  $YHUDJH 5&>@5&>@  (QG,I (QG,I $FWLYH&HOO2IIVHW  6HOHFW /RRS8QWLO ,V(PSW\ $FWLYH&HOO2IIVHW  (QG6XE ‹0DUWLQ*UHHQ

ZZZIRQWVWXIIFRP

 RI

(;&(/9%$

86,1*/2236

1RWHWKDWWKLVWLPHWKHUHDUHQRHUURUPHVVDJHVEHFDXVH([FHOKDVQ WWULHGWRFDOFXODWHDYHUDJHVRIQXPEHUVWKDW DUHQ WWKHUH

,QWKLVPDFURWKHUHLVDVHFRQG,)VWDWHPHQW LQVLGH WKHRQHWKDWWHOOV([FHO WRGRVRPHWKLQJRQO\LIWKHFHOOLVHPSW\ 7KLVVHFRQG,)VWDWHPHQWJLYHVH[FHODFKRLFH,QVWHDGRIDVLPSOH ,I WKHUHLVDQ,I DQGDQ(OVH+HUH VKRZ([FHO UHDGVLWVLQVWUXFWLRQV«

,IWKHFHOOKDVDOUHDG\JRWVRPHWKLQJLQJRWRWKHQH[WFHOO%XWLIWK HFHOOLVHPSW\ORRNDWWKHFRUUHVSRQGLQJFHOOVLQ FROXPQV$DQ%DQGLIWKH\DUHERWKHPSW\ZULWHQRWKLQJ  2WKHUZLVHZULWHWKHIRUPXODLQWKHFHOO7KHQPRYHRQ WRWKHQH[WFHOO

([HUFLVH)RU«1H[W/RRS

,I\RXNQRZRUFDQJHW9%(WRILQGRXW KRZPDQ\WLPHVWRUHSHDWDEORFNRIFRGH\RXFDQXVHD )RU«1H[W ORRS 0RYHWR6KHHWVHOHFWFHOO& DQGUXQWKHPDFUR /RRS +HUH VWKHFRGH

6XE /RRS

7KLVORRSUHSHDWVIRUDIL[HGQXPEHURIWLPHVGHWHUPLQHGE\WKHQXPEHURIURZV

LQWKHUDQJH 'LP L$V ,QWHJHU )RU L 7R 6HOHFWLRQ&XUUHQW5HJLRQ5RZV&RXQW  $FWLYH&HOO)RUPXOD5&  $YHUDJH 5&>@5&>@  $FWLYH&HOO2IIVHW  6HOHFW 1H[W L (QG6XE

7KLVPDFURGRHVQ WPDNHXVHRIDQDGMDFHQWFROXPQRIFHOOVOLNHWKHSUHYL RXVRQHVKDYHGRQHWRNQRZZKHQWRVWRS ORRSLQJ,QVWHDGLWFRXQWVWKHQXPEHURIURZVLQWKHFXUUHQWUDQJHRIGDWDDQGXVHVWKH )RU«1H[W PHWKRGWRWHOO ([FHOWRORRSWKDWQXPEHURIWLPHV PLQXVRQHEHFDXVHZKHQ9%$FRXQWVLWVWDUWVDW]HUR 

([HUFLVH*HWWLQJWKH5HIHUHQFH)URP6RPHZKHUH(OVH 6HOHFWFHOO* DQGUXQWKHPDFUR /RRS +HUH VWKHFRGH

6XE /RRS

7KLVORRSUHSHDWVDIL[HGQXPEHURIWLPHVJHWWLQJLWVUHIHUHQFHIURPHOVHZKHUH 'LP L$V,QWHJHU 'LP LQW5RZ&RXQW$V,QWHJHU LQW5RZ&RXQW 5DQJH $ &XUUHQW5HJLRQ5RZV&RXQW  )RU L 7R LQW5RZ&RXQW $FWLYH&HOO)RUPXOD5&  $YHUDJH 5&>@5&>@  $FWLYH&HOO2IIVHW  6HOHFW 1H[W L (QG6XE