800
Профессиональное программирование на VBA в Excel 2003

Профессиональное программирование на VBA в …msk.edu.ua/ivk/Informatika/Books/Programmirovanie/John...Îãëàâëåíèå Часть I. Введение

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

  • Профессиональное программирование на

    VBA в Excel 2003

  • John Walkenbach

    Excel 2003 Power Programming

    with VBA

  • Профессиональное программирование на

    VBA в Excel 2003

    Джон Уокенбах

    Москва • Санкт-Петербург • Киев 2005

  • ÁÁÊ 32.973.26-018.2.75Ó62

    ÓÄÊ 681.3.07

    Êîìïüþòåðíîå èçäàòåëüñòâî “Äèàëåêòèêà”

    Ãëàâíûé ðåäàêòîð Ñ.Í. Òðèãóá

    Çàâ. ðåäàêöèåé Â.Ð. Ãèíçáóðã

    Ïåðåâîä ñ àíãëèéñêîãî è ðåäàêöèÿ È.Â. Âàñèëåíêî

    Ïî îáùèì âîïðîñàì îáðàùàéòåñü â èçäàòåëüñòâî “Äèàëåêòèêà” ïî àäðåñó:

    [email protected], http://www.dialektika.com

    115419, Ìîñêâà, à/ÿ 783; 03150, Êèåâ, à/ÿ 152

    Óîêåíáàõ, Äæîí.

    Ó62 Ïðîôåññèîíàëüíîå ïðîãðàììèðîâàíèå íà VBA â Excel 2003. : Ïåð. ñàíãë. – Ì. : Èçäàòåëüñêèé äîì “Âèëüÿìñ”, 2005. – 800 ñ. : èë. – Ïàðàë.òèò. àíãë.

    ISBN 5-8459-0771-3 (ðóñ.)

    Ïî Excel íàïèñàíî íåìàëî êíèã. Íî êíèãà, êîòîðóþ âû äåðæèòå â ñâîèõ ðó-êàõ, ÿâëÿåòñÿ îñîáåííîé – â íåé ðàçðàáîòêà ïðèëîæåíèé ýëåêòðîííûõ òàáëèöðàññìàòðèâàåòñÿ â øèðîêîì êîíòåêñòå. VBA – ýòî âñåãî ëèøü îäèí èç êîìïîíåí-òîâ ñðåäû ðàçðàáîòêè ïîëüçîâàòåëüñêèõ ïðèëîæåíèé, õîòÿ è äîâîëüíî ñóùåñòâåí-íûé. Äàííàÿ êíèãà ïîìîæåò âàì ðàçîáðàòüñÿ â òîíêîñòÿõ ðàçðàáîòêè ïðèëîæåíèéñ ïîìîùüþ VBA.  íåé îïèñàíû ìíîãî÷èñëåííûå ñðåäñòâà ÿçûêà VBA, åãî âîç-ìîæíîñòè è ñðåäà èñïîëüçîâàíèÿ.

    Âíà÷àëå âàøåìó âíèìàíèþ áóäåò ïðåäëîæåí îáçîð âîçìîæíîñòåé ïðîãðàììû,äàëåå âû ïåðåéäåòå ê îïðåäåëåíèþ êîíöåïöèé VBA-ïðîãðàììèðîâàíèÿ, à çàòåìïîçíàêîìèòåñü ñ ñàìèì ÿçûêîì. Åñëè âû íà÷èíàþùèé ïðîãðàììèñò íà VBA, òî âäàííîì èçäàíèè íàéäåòå âñþ íåîáõîäèìóþ èíôîðìàöèþ, êîòîðàÿ ïîòðåáóåòñÿ äëÿäàëüíåéøåé ðàáîòû. Åñëè âû óæå îáëàäàåòå çàâèäíûì îïûòîì ðàáîòû ñ VBA, òîýòà êíèãà îáîãàòèò è ïðèóìíîæèò âàøè çíàíèÿ, ïîïîëíèâ èõ íîâûìè ìåòîäèêàìèè ïðèìåðàìè èç ðåàëüíîé æèçíè.

    ÁÁÊ 32.973.26-018.2.75

    Âñå íàçâàíèÿ ïðîãðàììíûõ ïðîäóêòîâ ÿâëÿþòñÿ çàðåãèñòðèðîâàííûìè òîðãîâûìè ìàðêàìèñîîòâåòñòâóþùèõ ôèðì.

    Íèêàêàÿ ÷àñòü íàñòîÿùåãî èçäàíèÿ íè â êàêèõ öåëÿõ íå ìîæåò áûòü âîñïðîèçâåäåíà â êà-êîé áû òî íè áûëî ôîðìå è êàêèìè áû òî íè áûëî ñðåäñòâàìè, áóäü òî ýëåêòðîííûå èëè ìåõà-íè÷åñêèå, âêëþ÷àÿ ôîòîêîïèðîâàíèå è çàïèñü íà ìàãíèòíûé íîñèòåëü, åñëè íà ýòî íåò ïèñü-ìåííîãî ðàçðåøåíèÿ èçäàòåëüñòâà JOHN WILEY&Sons, Inc.

    Copyright © 2005 by Dialektika Computer Publishing.Original English language edition Copyright © 2004 by Wiley Publishing, Inc.All rights reserved including the right of reproduction in whole or in part in any form. This translation

    is published by arrangement with Wiley Publishing, Inc.

    ISBN 5-8459-0771-3 (ðóñ.) © Êîìïüþòåðíîå èçä-âî “Äèàëåêòèêà”, 2005ISBN 0-7645-4072-6 (àíãë.) © Wiley Publishing, Inc., 2004

  • Îãëàâëåíèå

    Часть I. Введение в Excel 31Ãëàâà 1. Excel 2003: èñîðèÿ ïðîãðàììû 33

    Ãëàâà 2. Âêðàòöå îá Excel 45

    Ãëàâà 3. Îñîáåííîñòè èñïîëüçîâàíèÿ ôîðìóë 67

    Ãëàâà 4. Ôàéëû Excel 87

    Часть II. Разработка приложений Excel 105Ãëàâà 5. Ïðèëîæåíèÿ ýëåêòðîííûõ òàáëèö 107

    Ãëàâà 6. Ïðèíöèïû ðàçðàáîòêè ïðèëîæåíèé ýëåêòðîííûõ òàáëèö 119

    Часть III. Visual Basic for Applications 139Ãëàâà 7. Ââåäåíèå â Visual Basic for Applications 141

    Ãëàâà 8. Îñíîâû ïðîãðàììèðîâàíèÿ íà VBA 187

    Ãëàâà 9. Ðàáîòà ñ ïðîöåäóðàìè VBA 223

    Ãëàâà 10. Ñîçäàíèå ôóíêöèé 255

    Ãëàâà 11. Ïðèìåðû è ìåòîäû ïðîãðàììèðîâàíèÿ íà VBA 283

    Часть IV. Работа с пользовательскими формами 333Ãëàâà 12. Ñîçäàíèå ñîáñòâåííûõ äèàëîãîâûõ îêîí 335

    Ãëàâà 13. Èñïîëüçîâàíèå ïîëüçîâàòåëüñêèõ ôîðì 353

    Ãëàâà 14. Ïðèìåðû ïîëüçîâàòåëüñêèõ ôîðì 383

    Ãëàâà 15. Èñïîëüçîâàíèå äèàëîãîâûõ îêîí UserForm 409

    Часть V. Совершенные методы программирования 441Ãëàâà 16. Ðàçðàáîòêà óòèëèò Excel ñ ïîìîùüþ VBA 443

    Ãëàâà 17. Ðàáîòà ñî ñâîäíûìè òàáëèöàìè 457

    Ãëàâà 18. Óïðàâëåíèå äèàãðàììàìè 469

    Ãëàâà 19. Êîíöåïöèÿ ñîáûòèé Excel 515

    Ãëàâà 20. Âçàèìîäåéñòâèå ñ äðóãèìè ïðèëîæåíèÿìè 543

    Ãëàâà 21. Ñîçäàíèå è èñïîëüçîâàíèå íàäñòðîåê 563

    Часть VI. Разработка приложений 585Ãëàâà 22. Ñîçäàíèå ñîáñòâåííûõ ïàíåëåé èíñòðóìåíòîâ 587

    Ãëàâà 23. Ñîçäàíèå ïîëüçîâàòåëüñêèõ ìåíþ 615

    Ãëàâà 24. Ïðåäîñòàâëåíèå ñïðàâêè â ïðèëîæåíèÿõ 643

    Ãëàâà 25. Ðàçðàáîòêà ïðèëîæåíèé äëÿ ïîëüçîâàòåëåé 659

  • 6 Оглавление

    Часть VII. Другие темы 669Ãëàâà 26. Âîïðîñû ñîâìåñòèìîñòè 671

    Ãëàâà 27. Óïðàâëåíèå ôàéëàìè ñ ïîìîùüþ VBA 681

    Ãëàâà 28. Óïðàâëåíèå êîìïîíåíòàìè Visual Basic 701

    Ãëàâà 29. Ïðèíöèïû óïðàâëåíèÿ ìîäóëÿìè êëàññîâ 719

    Ãëàâà 30. ×àñòî çàäàâàåìûå âîïðîñû î ïðîãðàììèðîâàíèè â Excel 731

    Ïðèëîæåíèå À. Èíôîðìàöèîííûå ðåñóðñû, ïîñâÿùåííûå Excel 763

    Ïðèëîæåíèå Á. Ñïðàâî÷íèê ïî ôóíêöèÿì è îïåðàòîðàì VBA 769

    Ïðèëîæåíèå Â. Êîäû îøèáîê VBA 777

    Ïðèëîæåíèå Ã. Ñîäåðæèìîå êîìïàêò-äèñêà 781

    Ïðåäìåòíûé óêàçàòåëü 792

  • Ñîäåðæàíèå

    Îá àâòîðå 23

    Ïðåäèñëîâèå 24

    Áëàãîäàðíîñòè 30

    Часть I. Введение в Excel 31Ãëàâà 1. Excel 2003: èñîðèÿ ïðîãðàììû 33

    Êðàòêàÿ èñòîðèÿ ïðîöåññîðîâ ýëåêòðîííûõ òàáëèö 33Âñå íà÷èíàëîñü ñ VisiCalc 33Lotus 1-2-3 34Quattro Pro 37Microsoft Excel 38

    Ïî÷åìó Excel ïðåêðàñíî ïîäõîäèò äëÿ ðàçðàáîò÷èêîâ 41Ðîëü Excel â ñòðàòåãèè Microsoft 43

    Ãëàâà 2. Âêðàòöå îá Excel 45Ñ òî÷êè çðåíèÿ îáúåêòà… 45Ðàáî÷èå êíèãè 46

    Ðàáî÷èå ëèñòû 47Ëèñòû äèàãðàìì 47Ëèñòû ìàêðîñîâ XLM 48Äèàëîãîâûå ëèñòû Excel 5/95 48

    Ïîëüçîâàòåëüñêèé èíòåðôåéñ Excel 48Ìåíþ 48Êîíòåêñòíûå ìåíþ 49Ïàíåëè èíñòðóìåíòîâ 49Äèàëîãîâûå îêíà 50Ïåðåòàñêèâàíèå 51Êîìáèíàöèè êëàâèø 51Ñìàðò-òåãè 51Îáëàñòü çàäà÷ 52

    Ââîä äàííûõ 52Ôîðìóëû, èìåíà è ôóíêöèè 53Íàñòðîéêà âèäà 55Âûäåëåíèå îáúåêòîâ 55Ôîðìàòèðîâàíèå 55

    ×èñëîâîå ôîðìàòèðîâàíèå 55Ñòèëèñòè÷åñêîå ôîðìàòèðîâàíèå 56

    Ôèãóðû 56Äèàãðàììû 57Ìàêðîñû è ïðîãðàììèðîâàíèå 57Äîñòóï ê áàçàì äàííûõ 58

    Áàçû äàííûõ ðàáî÷èõ ëèñòîâ 58Âíåøíèå áàçû äàííûõ 59

    Ôóíêöèè èñïîëüçîâàíèÿ Internet 60Ïîääåðæêà XML 60

  • 8 Содержание

    Èíñòðóìåíòû àíàëèçà 60Ñòðóêòóðû 60Àâòîìàòè÷åñêèå ïðîìåæóòî÷íûå èòîãè 60Analysis ToolPack 61Ñâîäíûå òàáëèöû 61Ïîèñê ðåøåíèÿ 62

    Íàäñòðîéêè 62Ñîâìåñòèìîñòü 62Ïàðàìåòðû çàùèòû 63

    Çàùèòà ôîðìóë 63Çàùèòà ñòðóêòóðû ðàáî÷åé êíèãè 64Çàùèòà êíèãè ïàðîëåì 64Çàùèòà VBA-êîäà 64

    Ñïðàâî÷íàÿ ñèñòåìà 65

    Ãëàâà 3. Îñîáåííîñòè èñïîëüçîâàíèÿ ôîðìóë 67Î ôîðìóëàõ 67Âû÷èñëåíèå çíà÷åíèé ôîðìóë 68Ññûëêè íà ÿ÷åéêè è äèàïàçîíû 68

    Íåîòíîñèòåëüíûå ññûëêè 69Î ññûëêàõ R1C1 70Ññûëêè íà äðóãèå ëèñòû èëè ðàáî÷èå êíèãè 70

    Èñïîëüçîâàíèå èìåí 71Ïðèñâîåíèå èìåí ÿ÷åéêàì è äèàïàçîíàì 72Èñïîëüçîâàíèå èìåí ñóùåñòâóþùèõ ññûëîê 72Ïåðåñå÷åíèå èìåí 73Ïðèñâîåíèå èìåí ñòîëáöàì è ñòðîêàì 74Çàäàíèå îáëàñòè äåéñòâèÿ 74Ïðèñâîåíèå èìåí êîíñòàíòàì 74Ïðèñâîåíèå èìåí ôîðìóëàì 75Ïðèñâîåíèå èìåí îáúåêòàì 76

    Îøèáêè èñïîëüçîâàíèÿ ôîðìóë 76Ôîðìóëû ìàññèâîâ 77

    Ïðèìåð ôîðìóëû ìàññèâà 78Êàëåíäàðü â âèäå ôîðìóëû ìàññèâà 79Äîñòîèíñòâà è íåäîñòàòêè ôîðìóë ìàññèâîâ 79

    Ïîäñ÷åò è ñóììèðîâàíèå 80Èñïîëüçîâàíèå ôóíêöèé Ñ×ÅÒÅÑËÈ è ÑÓÌÌÅÑËÈ 80Ïîäñ÷åò è ñóììèðîâàíèå ñ ïîìîùüþ ôîðìóë ìàññèâîâ 81Äðóãèå èíñòðóìåíòû ïîäñ÷åòà 82

    Ðàáîòà ñî çíà÷åíèÿìè äàòû è âðåìåíè 82Ââîä çíà÷åíèé äàòû è âðåìåíè 82Èñïîëüçîâàíèå äàò äî 1900 ãîäà 83

    Ñîçäàíèå ìåãàôîðìóë 84

    Ãëàâà 4. Ôàéëû Excel 87Çàïóñê Excel 87Ïîääåðæèâàåìûå ôîðìàòû ôàéëîâ ýëåêòðîííûõ òàáëèö 88

    Ôàéëû ýëåêòðîííûõ òàáëèö Lotus 1-2-3 89Ôàéëû ýëåêòðîííûõ òàáëèö Quattro Pro 90Ôîðìàòû ôàéëîâ áàç äàííûõ 90Ôîðìàòû òåêñòîâûõ ôàéëîâ 90Äðóãèå ôîðìàòû ôàéëîâ 91

    Ôàéëû, ñîõðàíÿåìûå â Excel 91Ôàéë XLS 91

  • Содержание 9

    Ôàéë ðàáî÷åãî ïðîñòðàíñòâà 92Ôàéëû øàáëîíîâ 92Ôàéëû ïàíåëåé èíñòðóìåíòîâ 93Ôàéëû íàäñòðîåê 93

    Excel è HTML 94Òàê êàê æå ýòî ðàáîòàåò? 94Óñëîæíåíèå HTML-äîêóìåíòà 95À êàê íàñ÷åò èíòåðàêòèâíîñòè? 96

    Èìïîðò è ýêñïîðò XML-äàííûõ 98×òî òàêîå XML 98Èìïîðòèðîâàíèå XML-äàííûõ 99Èìïîðòèðîâàíèå XML-äàííûõ â ñïèñîê 100Ýêñïîðòèðîâàíèå XML-äàííûõ â Excel 101

    Ïàðàìåòðû Excel â ñèñòåìíîì ðååñòðå 102Î ñèñòåìíîì ðååñòðå 102Ïàðàìåòðû Excel 103

    Часть II. Разработка приложений Excel 105

    Ãëàâà 5. Ïðèëîæåíèÿ ýëåêòðîííûõ òàáëèö 107Îñíîâíûå õàðàêòåðèñòèêè 107Ðàçðàáîò÷èê è êîíå÷íûé ïîëüçîâàòåëü 109

    Êòî òàêèå ðàçðàáîò÷èêè 109Êëàññèôèêàöèÿ ïîëüçîâàòåëåé ýëåêòðîííûõ òàáëèö 110Ïîëüçîâàòåëè ïðèëîæåíèé ýëåêòðîííûõ òàáëèö 110

    Ðåøåíèå ïðîáëåì ñ ïîìîùüþ ïðîöåññîðà ýëåêòðîííûõ òàáëèö 111Îñíîâíûå òèïû ýëåêòðîííûõ òàáëèö 112

    Ýëåêòðîííûå òàáëèöû “íà ñêîðóþ ðóêó” 113Ýëåêòðîííûå òàáëèöû “íå äëÿ ïîñòîðîííèõ ãëàç” 113Îäíîïîëüçîâàòåëüñêèå ïðèëîæåíèÿ 113Ïðèëîæåíèÿ-“ñïàãåòòè” 114Ïðèëîæåíèÿ-óòèëèòû 114Íàäñòðîéêè ñ ôóíêöèÿìè ðàáî÷èõ ëèñòîâ 115Îäíîáëîêîâûå áþäæåòû 115Ìîäåëè “÷òî-åñëè” 116Ýëåêòðîííûå òàáëèöû äëÿ õðàíåíèÿ äàííûõ è äîñòóïà ê íèì 116Êëèåíòñêèå ïðîãðàììû áàç äàííûõ 116Ïðèëîæåíèÿ “ïîä êëþ÷” 117

    Ãëàâà 6. Ïðèíöèïû ðàçðàáîòêè ïðèëîæåíèé ýëåêòðîííûõ òàáëèö 119Îïðåäåëåíèå ïîòðåáíîñòåé ïîëüçîâàòåëÿ 120Ïðîåêòèðîâàíèå ïðèëîæåíèÿ, ñîîòâåòñòâóþùåãî ïîòðåáíîñòÿìïîëüçîâàòåëåé 121Îïðåäåëåíèå óäîáíîãî ïîëüçîâàòåëüñêîãî èíòåðôåéñà 123

    Ñîçäàíèå ïîëüçîâàòåëüñêèõ äèàëîãîâûõ îêîí 124Èñïîëüçîâàíèå ýëåìåíòîâ óïðàâëåíèÿ ActiveX â ðàáî÷åì ëèñòå 125Íàñòðîéêà ìåíþ 126Íàñòðîéêà ïàíåëåé èíñòðóìåíòîâ 128Ñîçäàíèå êîìáèíàöèé êëàâèø 129Óñèëèÿ ïî ðàçðàáîòêå ïðèëîæåíèÿ 129

    Ðàáîòà ñ êîíå÷íûì ïîëüçîâàòåëåì 130Òåñòèðîâàíèå ïðèëîæåíèÿ 130Êàê ñäåëàòü ïðèëîæåíèå îòêàçîóñòîé÷èâûì 131Ïðèâëåêàòåëüíîå è íàãëÿäíîå ïðèëîæåíèå 133Ñîçäàíèå ïîëüçîâàòåëüñêîé ñïðàâî÷íîé ñèñòåìû 133

  • 10 Содержание

    Äîêóìåíòèðîâàíèå óñèëèé, ïîòðà÷åííûõ íà ðàçðàáîòêó 134Ðàñïðîñòðàíåíèå ïðèëîæåíèÿ ñðåäè ïîëüçîâàòåëåé 134Îáíîâëåíèå ïðèëîæåíèÿ 135

    Äðóãèå âîïðîñû ðàçðàáîòêè ïðèëîæåíèé 135Âåðñèÿ Excel, óñòàíîâëåííàÿ ó ïîëüçîâàòåëÿ 135Òðóäíîñòè, êàñàþùèåñÿ ïîääåðæêè ÿçûêà 136Ïðîèçâîäèòåëüíîñòü ñèñòåìû 136Âèäåîðåæèìû 136

    Часть III. Visual Basic for Applications 139

    Ãëàâà 7. Ââåäåíèå â Visual Basic for Applications 141Èñòîðèÿ ÿçûêà BASIC 141Îáçîð VBA 142

    Îáúåêòíûå ìîäåëè 142Ñðàâíåíèå VBA è XLM 142

    Îñíîâû VBA 143Çíàêîìñòâî ñ ðåäàêòîðîì Visual Basic 146

    Çàïóñê VBE 146Îêíà VBE 147

    Ðàáîòà ñ Project Explorer 148Äîáàâëåíèå íîâîãî ìîäóëÿ VBA 149Óäàëåíèå ìîäóëÿ VBA 149Ýêñïîðò è èìïîðò îáúåêòîâ 149

    Ðàáîòà ñ îêíàìè êîäà 150Ñâîðà÷èâàíèå è âîññòàíîâëåíèå îêîí 150Ñîõðàíåíèå ïðîãðàììû VBA 150Ââîä êîäà VBA 151

    Íàñòðîéêà ñðåäû VBE 156Âêëàäêà Editor 156Âêëàäêà Editor Format 159Âêëàäêà General 160Âêëàäêà Docking 160

    Ôóíêöèÿ çàïèñè ìàêðîñîâ 161×òî çàïèñûâàåòñÿ 161Îòíîñèòåëüíûé èëè àáñîëþòíûé? 162Ïàðàìåòðû çàïèñè 165Óëó÷øåíèå çàïèñàííûõ ìàêðîñîâ 166

    Îá îáúåêòàõ è êîëëåêöèÿõ 167Èåðàðõèÿ îáúåêòîâ 168Î êîëëåêöèÿõ 168Ññûëêè íà îáúåêòû 169

    Ñâîéñòâà è ìåòîäû 169Ñâîéñòâà îáúåêòîâ 169Ìåòîäû îáúåêòîâ 170

    Îáúåêò Comment: ïðèìåð èñïîëüçîâàíèÿ 172Ñïðàâî÷íûå ñâåäåíèÿ ïî îáúåêòó Comment 172Ñâîéñòâà îáúåêòà Comment 173Ìåòîäû îáúåêòà Comment 173Êîëëåêöèÿ Comments 173Î ñâîéñòâå Comment 174Îáúåêòû, âëîæåííûå â Comment 175Ñîäåðæèò ëè ÿ÷åéêà ïðèìå÷àíèå? 176Äîáàâëåíèå íîâîãî îáúåêòà Comment 177Ïîëåçíûå ñâîéñòâà îáúåêòà Application 177

  • Содержание 11

    Ðàáîòà ñ îáúåêòàìè Range 179Ñâîéñòâî Range 179Ñâîéñòâî Cells 180Ñâîéñòâî Offset 182

    ×òî ñëåäóåò çíàòü îá îáúåêòàõ 183Áîëåå ñëîæíûå, íî âàæíûå êîíöåïöèè 183Óçíàéòå áîëüøå îá îáúåêòàõ è ñâîéñòâàõ 184

    Ãëàâà 8. Îñíîâû ïðîãðàììèðîâàíèÿ íà VBA 187Ýëåìåíòû ÿçûêà VBA. Îáçîð 187Êîììåíòàðèè 188Ïåðåìåííûå, òèïû äàííûõ è êîíñòàíòû 190

    Îïðåäåëåíèå òèïîâ äàííûõ 191Îáúÿâëåíèå ïåðåìåííûõ 193Îáëàñòü äåéñòâèÿ ïåðåìåííûõ 195Ðàáîòà ñ êîíñòàíòàìè 198Óïðàâëåíèå ñòðîêàìè 199Ðàáîòà ñ äàòàìè 200

    Îïåðàòîðû ïðèñâîåíèÿ 201Ìàññèâû 202

    Îáúÿâëåíèå ìàññèâîâ 203Îáúÿâëåíèå ìíîãîìåðíûõ ìàññèâîâ 203

    Ïåðåìåííûå îáúåêòîâ 204Ïîëüçîâàòåëüñêèå òèïû äàííûõ 205Âñòðîåííûå ôóíêöèè 205Óïðàâëåíèå îáúåêòàìè è êîëëåêöèÿìè 208

    Êîíñòðóêöèÿ With-End With 208Êîíñòðóêöèÿ For Each-Next 209

    Êîíòðîëü çà âûïîëíåíèåì êîäà 210Îïåðàòîðû GoTo 211Êîíñòðóêöèÿ If-Then 211Êîíñòðóêöèè Select Case 214Öèêëè÷åñêàÿ îáðàáîòêà èíñòðóêöèé 216

    Ãëàâà 9. Ðàáîòà ñ ïðîöåäóðàìè VBA 223Î ïðîöåäóðàõ 223Îáúÿâëåíèå ïðîöåäóðû 224

    Îáëàñòü äåéñòâèÿ ïðîöåäóðû 225Âûïîëíåíèå ïðîöåäóðû 225

    Âûïîëíåíèå ïðîöåäóðû ñ ïîìîùüþ êîìàíäû Run Run Sub/UserForm 226Âûïîëíåíèå ïðîöåäóðû â äèàëîãîâîì îêíå Ìàêðîñ 226Âûïîëíåíèå ïðîöåäóðû ñ ïîìîùüþ êîìáèíàöèè êëàâèø 227Âûïîëíåíèå ïðîöåäóðû èç ïîëüçîâàòåëüñêîãî ìåíþ 228Âûïîëíåíèå ïðîöåäóðû èç äðóãîé ïðîöåäóðû 229Âûïîëíåíèå ïðîöåäóðû ñ ïîìîùüþ êíîïêè íà ïàíåëè èíñòðóìåíòîâ 233Âûïîëíåíèå ïðîöåäóðû ïî ùåë÷êó íà îáúåêòå 234Âûïîëíåíèå ïðîöåäóðû ïî ñîáûòèþ 235Âûïîëíåíèå ïðîöåäóðû â îêíå îòëàäêè 235

    Ïåðåäà÷à àðãóìåíòîâ â ïðîöåäóðû 235Îáðàáîòêà îøèáîê 239

    Ïåðåõâàò îøèáîê 239Ïðèìåðû îáðàáîòêè îøèáîê 240

    Ðåàëüíûé ïðèìåð 242Öåëü 242Òðåáîâàíèÿ ê ïðîåêòó 242

  • 12 Содержание

    Èñõîäíûå äàííûå 243Ïîäõîä 243×òî íåîáõîäèìî çíàòü 244Ïðåäâàðèòåëüíûå ðåçóëüòàòû çàïèñè ìàêðîñîâ 244Ïîäãîòîâêà 245Íàïèñàíèå êîäà 246Ñîçäàíèå ïðîöåäóðû ñîðòèðîâêè 247Äîïîëíèòåëüíîå òåñòèðîâàíèå 250Ðåøåíèå ïðîáëåì 250Äîñòóïíîñòü óòèëèòû 253Îöåíêà ïðîåêòà 253

    Ãëàâà 10. Ñîçäàíèå ôóíêöèé 255Ïðîöåäóðû è ôóíêöèè: ñðàâíåíèå 255Íàçíà÷åíèå ïîëüçîâàòåëüñêèõ ôóíêöèé 255Ïðîñòîé ïðèìåð ôóíêöèè 256

    Ïîëüçîâàòåëüñêàÿ ôóíêöèÿ 256Èñïîëüçîâàíèå ôóíêöèè íà ðàáî÷åì ëèñòå 256Èñïîëüçîâàíèå ôóíêöèè â ïðîöåäóðå VBA 257Àíàëèç ïîëüçîâàòåëüñêîé ôóíêöèè 258

    Ñèíòàêñèñ ôóíêöèè 259Îáúÿâëåíèå ôóíêöèè 259Îáëàñòü äåéñòâèÿ ôóíêöèè 260Âûïîëíåíèå ôóíêöèé 260

    Àðãóìåíòû ôóíêöèé 262Ïðèìåðû ôóíêöèé 262

    Ôóíêöèÿ áåç àðãóìåíòîâ 262Åùå îäíà ôóíêöèÿ áåç àðãóìåíòîâ 263Ôóíêöèÿ ñ îäíèì àðãóìåíòîì 264Ôóíêöèÿ ñ äâóìÿ àðãóìåíòàìè 266Ôóíêöèÿ ñ àðãóìåíòîì â âèäå ìàññèâà 267Ôóíêöèÿ ñ íåîáÿçàòåëüíûìè àðãóìåíòàìè 267Ôóíêöèÿ VBA, âîçâðàùàþùàÿ ìàññèâ 269Ôóíêöèÿ, âîçâðàùàþùàÿ çíà÷åíèå îøèáêè 271Ôóíêöèÿ ñ íåîïðåäåëåííûì êîëè÷åñòâîì àðãóìåíòîâ 272

    Ñîçäàíèå àíàëîãà ôóíêöèè Excel ÑÓÌÌ 273Îòëàäêà ôóíêöèé 275Ðàáîòà ñ äèàëîãîâûì îêíîì Ìàñòåð ôóíêöèè 276

    Îïðåäåëåíèå êàòåãîðèè ôóíêöèè 276Äîáàâëåíèå îïèñàíèÿ ôóíêöèè 277

    Èñïîëüçîâàíèå íàäñòðîåê äëÿ õðàíåíèÿ ïîëüçîâàòåëüñêèõ ôóíêöèé 279Èñïîëüçîâàíèå ôóíêöèé Windows API 279

    Ïðèìåðû èñïîëüçîâàíèÿ Windows API 280Îïðåäåëåíèå ïàïêè Windows 280Îïðåäåëåíèå ñîñòîÿíèÿ êëàâèøè 281Äîïîëíèòåëüíàÿ èíôîðìàöèÿ î ôóíêöèÿõ API 281

    Ãëàâà 11. Ïðèìåðû è ìåòîäû ïðîãðàììèðîâàíèÿ íà VBA 283Ðàáîòà ñ äèàïàçîíàìè 284

    Êîïèðîâàíèå äèàïàçîíà 284Ïåðåìåùåíèå äèàïàçîíà 285Êîïèðîâàíèå äèàïàçîíà ïåðåìåííîãî ðàçìåðà 285Âûäåëåíèå èëè îïðåäåëåíèå òèïîâ äèàïàçîíîâ 286Çàïðîñ çíà÷åíèÿ ÿ÷åéêè 288Ââîä çíà÷åíèÿ â ñëåäóþùóþ ïóñòóþ ÿ÷åéêó 289

  • Содержание 13

    Ïðèîñòàíîâêà ìàêðîñà äëÿ ïîëó÷åíèÿ äèàïàçîíà,âûäåëåííîãî ïîëüçîâàòåëåì 290Ïîäñ÷åò âûäåëåííûõ ÿ÷ååê 291Îïðåäåëåíèå òèïà âûäåëåííîãî äèàïàçîíà 292Ïðîñìîòð âûäåëåííîãî äèàïàçîíà 293Óäàëåíèå âñåõ ïóñòûõ ñòðîê 295Îïðåäåëåíèå äèàïàçîíà, íàõîäÿùåãîñÿ â äðóãîì äèàïàçîíå 295Îïðåäåëåíèå òèïà äàííûõ ÿ÷åéêè 296×òåíèå è çàïèñü äèàïàçîíîâ 296Áîëåå ýôôåêòèâíûé ñïîñîá çàïèñè â äèàïàçîí 297Ïåðåíåñåíèå îäíîìåðíûõ ìàññèâîâ 299Ïåðåíåñåíèå äèàïàçîíà â ìàññèâ Variant 299Âûäåëåíèå ìàêñèìàëüíîãî çíà÷åíèÿ â äèàïàçîíå 300Âûäåëåíèå âñåõ ÿ÷ååê ñ îïðåäåëåííûì ôîðìàòèðîâàíèåì 300

    Óïðàâëåíèå ðàáî÷èìè êíèãàìè è ëèñòàìè 302Ñîõðàíåíèå âñåõ ðàáî÷èõ êíèã 302Ñîõðàíåíèå è çàêðûòèå âñåõ ðàáî÷èõ êíèã 303Äîñòóï ê ñâîéñòâàì ðàáî÷åé êíèãè 303Ñèíõðîíèçàöèÿ ðàáî÷èõ ëèñòîâ 304

    Ìåòîäû ïðîãðàììèðîâàíèÿ íà VBA 304Ïåðåêëþ÷åíèå çíà÷åíèÿ ñâîéñòâà Boolean 305Îïðåäåëåíèå êîëè÷åñòâà ñòðàíèö äëÿ ïå÷àòè 305Îòîáðàæåíèå äàòû è âðåìåíè 306Ïîëó÷åíèå ñïèñêà øðèôòîâ 307Ñîðòèðîâêà ìàññèâà 308Îáðàáîòêà ïîñëåäîâàòåëüíîñòè ôàéëîâ 309

    Ôóíêöèè, ïîëåçíûå äëÿ èñïîëüçîâàíèÿ â ïðîãðàììàõ VBA 310Ôóíêöèÿ FileExists 310Ôóíêöèÿ FileNameOnly 311Ôóíêöèÿ PathExists 311Ôóíêöèÿ RangeNameExists 311Ôóíêöèÿ SheetExists 312Ôóíêöèÿ WorkbookIsOpen 312Ïîëó÷åíèå çíà÷åíèÿ èç çàêðûòîé ðàáî÷åé êíèãè 313

    Ïîëåçíûå ôóíêöèè â ôîðìóëàõ Excel 314Ïîëó÷åíèå èíôîðìàöèè î ôîðìàòèðîâàíèè ÿ÷åéêè 314Îòîáðàæåíèå äàòû ñîõðàíåíèÿ ôàéëà èëè âûâîäà ôàéëà íà ïå÷àòü 315Îñíîâû èåðàðõèè îáúåêòîâ 316Ïîäñ÷åò êîëè÷åñòâà ÿ÷ååê ìåæäó äâóìÿ çíà÷åíèÿìè 317Ïîäñ÷åò êîëè÷åñòâà âèäèìûõ ÿ÷ååê â äèàïàçîíå 317Îïðåäåëåíèå ïîñëåäíåé íåïóñòîé ÿ÷åéêè â ñòîëáöå èëè ñòðîêå 318Ñîîòâåòñòâóåò ëè ñòðîêà øàáëîíó? 319Èçâëå÷åíèå èç ñòðîêè n-ãî ýëåìåíòà 320Ìíîæåñòâåííàÿ ôóíêöèÿ 321Ôóíêöèÿ SHEETOFFSET 322Âîçâðàùåíèå ìàêñèìàëüíîãî çíà÷åíèÿ âñåõ ðàáî÷èõ ëèñòîâ 322Âîçâðàùåíèå ìàññèâà ñëó÷àéíûõ öåëûõ ÷èñåë áåç ïîâòîðîâ 323Ðàñïîëîæåíèå çíà÷åíèé äèàïàçîíà â ïðîèçâîëüíîì ïîðÿäêå 325

    Âûçîâ ôóíêöèé Windows API 326Îïðåäåëåíèå ñâÿçåé ñ ôàéëàìè 326Îïðåäåëåíèå ïàðàìåòðîâ ïðèíòåðà ïî óìîë÷àíèþ 327Îïðåäåëåíèå òåêóùåãî âèäåîðåæèìà 328Äîáàâëåíèå çâóêà â ïðèëîæåíèå 328×òåíèå è çàïèñü ïàðàìåòðîâ ñèñòåìíîãî ðååñòðà 330

  • 14 Содержание

    Часть IV. Работа с пользовательскими формами 333

    Ãëàâà 12. Ñîçäàíèå ñîáñòâåííûõ äèàëîãîâûõ îêîí 335Ïåðåä ñîçäàíèåì äèàëîãîâûõ îêîí... 335Èñïîëüçîâàíèå îêíà ââîäà äàííûõ 336

    Ôóíêöèÿ InputBox â VBA 336Ìåòîä InputBox â Excel 337

    Ôóíêöèÿ VBA MsgBox 339Ìåòîä Excel GetOpenFilename 342Ìåòîä Excel GetSaveAsFilename 345Ïîëó÷åíèå èìåíè ïàïêè 345

    Èñïîëüçîâàíèå ôóíêöèé Windows API äëÿ ïîëó÷åíèÿ èìåíè ïàïêè 345Ïðèìåíåíèå îáúåêòà FileDialog äëÿ âûáîðà ïàïêè 347

    Îòîáðàæåíèå âñòðîåííûõ äèàëîãîâûõ îêîí Excel 348Èñïîëüçîâàíèå êîëëåêöèè Dialogs 348Ïîëó÷åíèå äîïîëíèòåëüíîé èíôîðìàöèè î âñòðîåííûõäèàëîãîâûõ îêíàõ 350Èñïîëüçîâàíèå àðãóìåíòîâ âî âñòðîåííûõ äèàëîãîâûõ îêíàõ 350Íåïîñðåäñòâåííûé âûáîð êîìàíäû ìåíþ 351

    Ãëàâà 13. Èñïîëüçîâàíèå ïîëüçîâàòåëüñêèõ ôîðì 353Êàê Excel îáðàáàòûâàåò ïîëüçîâàòåëüñêèå äèàëîãîâûå îêíà 353Âñòàâêà íîâîé ôîðìû UserForm 354Äîáàâëåíèå ýëåìåíòîâ óïðàâëåíèÿ â ïîëüçîâàòåëüñêîå äèàëîãîâîå îêíî 355Äîñòóïíûå ýëåìåíòû óïðàâëåíèÿ 355

    CheckBox 355ComboBox 356CommandButton 356Frame 356Image 356Label 356ListBox 356MultiPage 356OptionButton 357RefEdit 357ScrollBar 357SpinButton 357TabStrip 357TextBox 357ToggleButton 357

    Íàñòðîéêà ýëåìåíòîâ óïðàâëåíèÿ ïîëüçîâàòåëüñêîãî äèàëîãîâîãî îêíà 358Èçìåíåíèå ñâîéñòâ ýëåìåíòîâ óïðàâëåíèÿ 359

    Èñïîëüçîâàíèå îêíà Properties 360Îáùèå ñâîéñòâà 361Ïîëó÷åíèå äîïîëíèòåëüíîé èíôîðìàöèè î ñâîéñòâàõ 362Ñîâåòû ïî èñïîëüçîâàíèþ êëàâèàòóðû 362

    Îòîáðàæåíèå è çàêðûòèå ïîëüçîâàòåëüñêîãî äèàëîãîâîãî îêíà 364Îòîáðàæåíèå ïîëüçîâàòåëüñêîãî äèàëîãîâîãî îêíà 364Çàêðûòèå ïîëüçîâàòåëüñêîãî äèàëîãîâîãî îêíà 365Î ïðîöåäóðàõ îáðàáîòêè ñîáûòèé 366

    Ïðèìåð ñîçäàíèÿ ïîëüçîâàòåëüñêîãî äèàëîãîâîãî îêíà 366Ñîçäàíèå ïîëüçîâàòåëüñêîãî äèàëîãîâîãî îêíà 366Ñîçäàíèå êîäà äëÿ îòîáðàæåíèÿ äèàëîãîâîãî îêíà 369Ïðîâåðêà 369Äîáàâëåíèå ïðîöåäóð îáðàáîòêè ñîáûòèé 370

  • Содержание 15

    Ïðîâåðêà ïðàâèëüíîñòè ââåäåííûõ äàííûõ 372Çàðàáîòàëî! 372

    Ñîáûòèÿ îáúåêòà UserForm 372Ïîëó÷åíèå äîïîëíèòåëüíîé èíôîðìàöèè î ñîáûòèÿõ 372Ñîáûòèÿ îáúåêòà UserForm 373Ñîáûòèÿ ýëåìåíòà óïðàâëåíèÿ SpinButton 374Ñîâìåñòíîå èñïîëüçîâàíèå ýëåìåíòîâ óïðàâëåíèÿ SpinButton è TextBox 375

    Ññûëêà íà ýëåìåíòû óïðàâëåíèÿ ïîëüçîâàòåëüñêîãî äèàëîãîâîãî îêíà 378Íàñòðîéêà ïàíåëè èíñòðóìåíòîâ Toolbox 379

    Èçìåíåíèå çíà÷êîâ èëè òåêñòà ïîäñêàçîê 379Äîáàâëåíèå íîâûõ ñòðàíèö 379Íàñòðîéêà èëè êîìáèíèðîâàíèå ýëåìåíòîâ óïðàâëåíèÿ 379Äîáàâëåíèå ýëåìåíòîâ óïðàâëåíèÿ ActiveX 380

    Ñîçäàíèå øàáëîíîâ äèàëîãîâûõ îêîí 381Ñïèñîê èíñòðóêöèé ïî ñîçäàíèþ äèàëîãîâîãî îêíà 381

    Ãëàâà 14. Ïðèìåðû ïîëüçîâàòåëüñêèõ ôîðì 383Ñîçäàíèå ìåíþ ñ ïîìîùüþ îáúåêòà UserForm 383

    Èñïîëüçîâàíèå ýëåìåíòîâ óïðàâëåíèÿ CommandButton 383Èñïîëüçîâàíèå ýëåìåíòà óïðàâëåíèÿ ListBox 384

    Âûáîð äèàïàçîíà 385Ñîçäàíèå çàñòàâêè 386Îòêëþ÷åíèå êíîïêè çàêðûòèÿ ïîëüçîâàòåëüñêîãî äèàëîãîâîãî îêíà 388Èçìåíåíèå ðàçìåðà äèàëîãîâîãî îêíà 389Ìàñøòàáèðîâàíèå è ïðîêðóòêà ëèñòà â ïîëüçîâàòåëüñêîì äèàëîãîâîì îêíå 390Èñïîëüçîâàíèå ýëåìåíòà óïðàâëåíèÿ ListBox 391

    Îá ýëåìåíòå óïðàâëåíèÿ ListBox 392Äîáàâëåíèå îïöèé â ýëåìåíò óïðàâëåíèÿ ListBox 392Îïðåäåëåíèå âûäåëåííîé îïöèè 396Îïðåäåëåíèå íåñêîëüêèõ âûäåëåííûõ îïöèé 397Íåñêîëüêî ñïèñêîâ â îäíîì ýëåìåíòå óïðàâëåíèÿ ListBox 398Ïåðåäà÷à îïöèé ýëåìåíòà óïðàâëåíèÿ ListBox 398Ïåðåìåùåíèå îïöèè â ñïèñêå ýëåìåíòà óïðàâëåíèÿ ListBox 399Ðàáîòà ñ ýëåìåíòàìè óïðàâëåíèÿ ListBox, ñîäåðæàùèìèíåñêîëüêî ñòîëáöîâ 401Èñïîëüçîâàíèå ýëåìåíòà óïðàâëåíèÿ ListBox äëÿ âûäåëåíèÿ ñòðîê íàëèñòå 402Èñïîëüçîâàíèå ýëåìåíòà óïðàâëåíèÿ ListBox äëÿ àêòèâèçàöèè ëèñòà 404

    Ïðèìåíåíèå ýëåìåíòà óïðàâëåíèÿ MultiPage 406

    Ãëàâà 15. Èñïîëüçîâàíèå äèàëîãîâûõ îêîí UserForm 409Îòîáðàæåíèå èíäèêàòîðà òåêóùåãî ñîñòîÿíèÿ 409

    Ñîçäàíèå îòäåëüíîãî èíäèêàòîðà òåêóùåãî ñîñòîÿíèÿ 410Âûâîä èíôîðìàöèè î òåêóùåì ñîñòîÿíèè ñ ïîìîùüþýëåìåíòà óïðàâëåíèÿ MultiPage 412Îòîáðàæåíèå èíäèêàòîðà òåêóùåãî ñîñòîÿíèÿ áåç èñïîëüçîâàíèÿýëåìåíòà óïðàâëåíèÿ MultiPage 414

    Ñîçäàíèå ìàñòåðîâ 415Íàñòðîéêà ýëåìåíòà óïðàâëåíèÿ MultiPage 416Äîáàâëåíèå êíîïîê 416Ïðîãðàììèðîâàíèå êíîïîê 417Ïðîãðàììèðîâàíèå çàâèñèìîñòåé 418Âûïîëíåíèå çàäà÷è 420

    Ýìóëÿöèÿ ôóíêöèè MsgBox 420Êîä ôóíêöèè MyMsgBox 421

  • 16 Содержание

    Êàê ýòî ðàáîòàåò 422Èñïîëüçîâàíèå ôóíêöèè MyMsgBox 423

    Íåìîäàëüíîå äèàëîãîâîå îêíî 423Íåñêîëüêî êíîïîê ñ îäíîé ïðîöåäóðîé îáðàáîòêè ñîáûòèé 426

    Ïðîöåäóðà 427Äèàëîãîâîå îêíî âûáîðà öâåòà 429Îòîáðàæåíèå äèàãðàììû â ïîëüçîâàòåëüñêîì äèàëîãîâîì îêíå 430

    Ìåòîä 1: ñîõðàíåíèå äèàãðàììû â âèäå ôàéëà 431Ìåòîä 2: èñïîëüçîâàíèå ýëåìåíòà óïðàâëåíèÿ OWC ChartSpace 432

    Îòîáðàæåíèå ëèñòà â ïîëüçîâàòåëüñêîì äèàëîãîâîì îêíå 435Ðàñøèðåííîå äèàëîãîâîå îêíî ôîðìû äàííûõ 438

    Îïèñàíèå 438Óñòàíîâêà íàäñòðîéêè 439Èñïîëüçîâàíèå ðàñøèðåííîãî äèàëîãîâîãî îêíà ôîðìû äàííûõ 439

    Часть V. Совершенные методы программирования 441

    Ãëàâà 16. Ðàçðàáîòêà óòèëèò Excel ñ ïîìîùüþ VBA 443Îá óòèëèòàõ Excel 443Èñïîëüçîâàíèå VBA äëÿ ðàçðàáîòêè óòèëèò 444Èç ÷åãî ñîñòîèò õîðîøàÿ óòèëèòà 444Òåêñòîâûå èíñòðóìåíòû: àíàòîìèÿ óòèëèò 445

    Îáîñíîâàíèå 446Öåëè ïðîåêòà óòèëèòû Text Tools 446Êàê ðàáîòàåò óòèëèòà 446Ðàáî÷àÿ êíèãà óòèëèòû Text Tools 447Ïîëüçîâàòåëüñêàÿ ôîðìà óòèëèòû 447Ìîäóëü ThisWorkbook 449Ìîäóëü Module1 450Ìîäóëü UserForm1 451Ïîâûøåíèå ýôôåêòèâíîñòè óòèëèòû Text Tools 451Ñîõðàíåíèå íàñòðîåê óòèëèòû Text Tools 453Ìåòîäèêà îòìåíû âûïîëíåííûõ äåéñòâèé 453Îöåíêà ïðîåêòà 455Ïðèíöèïû ðàáîòû óòèëèòû Text Tools 456

    Ãëàâà 17. Ðàáîòà ñî ñâîäíûìè òàáëèöàìè 457Âñòóïèòåëüíûé ïðèìåð 457

    Ñîçäàíèå ñâîäíîé òàáëèöû 457Ïðîñìîòð ñîçäàííîãî êîäà 459Î÷èñòêà çàïèñàííîãî êîäà 459

    Ñîçäàíèå ñëîæíîé ñâîäíîé òàáëèöû 460Äàííûå 460Ñâîäíàÿ òàáëèöà 460Êîä ñîçäàíèÿ ñâîäíîé òàáëèöû 461Êàê ýòî ðàáîòàåò 462

    Ñîçäàíèå ñâîäíîé òàáëèöû íà îñíîâå âíåøíåé áàçû äàííûõ 463Ñîçäàíèå íåñêîëüêèõ ñâîäíûõ òàáëèö 465Ìîäèôèêàöèÿ ñâîäíûõ òàáëèö 467

    Ãëàâà 18. Óïðàâëåíèå äèàãðàììàìè 469Î äèàãðàììàõ 469

    Ðàñïîëîæåíèå äèàãðàìì 469Îáúåêòíàÿ ìîäåëü äèàãðàììû 470

    Çàïèñü ìàêðîñà 471

  • Содержание 17

    Ðåçóëüòàò çàïèñè ìàêðîñà 472Ïîäêîððåêòèðîâàííûé êîä 473

    Ðàñïðîñòðàíåííûå ìåòîäû óïðàâëåíèÿ äèàãðàììàìè â VBA 474Àêòèâèçàöèÿ äèàãðàììû 474Äåàêòèâèçàöèÿ äèàãðàììû 475Îïðåäåëåíèå àêòèâíîñòè äèàãðàììû 476Óäàëåíèå îáúåêòîâ ChartObject èëè äèàãðàìì 476Ôîðìàòèðîâàíèå äèàãðàìì 477Öèêëè÷åñêèé ïðîñìîòð äèàãðàìì 478Èçìåíåíèå ðàçìåðà è âçàèìíîãî ðàñïîëîæåíèÿ îáúåêòîâ ChartObject 478

    Äîïîëíèòåëüíûå ìåòîäû óïðàâëåíèÿ äèàãðàììàìè 480Èñïîëüçîâàíèå èìåí â ôîðìóëå ÐßÄ 480Îïðåäåëåíèå äàííûõ, êîòîðûå èñïîëüçóþòñÿ äèàãðàììîé 481Èçìåíåíèå äèàãðàììû ñ ïîìîùüþ ýëåìåíòà óïðàâëåíèÿ ComboBox 483Îïðåäåëåíèå èñòî÷íèêà äàííûõ 484Îòîáðàæåíèå ïîäïèñåé äëÿ äàííûõ íà äèàãðàììå 487Îòîáðàæåíèå äèàãðàììû â ïîëüçîâàòåëüñêîì äèàëîãîâîì îêíå 488

    Ñîáûòèÿ äèàãðàìì 491Ïðèìåð èñïîëüçîâàíèÿ ñîáûòèé îáúåêòà Chart 491Ïîääåðæêà ñîáûòèé äëÿ âñòðîåííûõ äèàãðàìì 493Ïðèìåð èñïîëüçîâàíèÿ ñîáûòèé îáúåêòà Chart âî âñòðîåííîé äèàãðàììå 495

    Õèòðîñòè ñîçäàíèÿ äèàãðàìì 497Ïå÷àòü âñòðîåííûõ äèàãðàìì íà âñþ ñòðàíèöó 497Ñîçäàíèå “ìåðòâîé” äèàãðàììû 497Îòîáðàæåíèå ïîäñêàçêè 499Àíèìèðîâàííûå äèàãðàììû 500Ñîçäàíèå äèàãðàììû ñ ãðàôèêîì ãèïîöèêëîèäû 501Ñîçäàíèå äèàãðàììû ÷àñîâ 502

    Ñîâåòû ïî èñïîëüçîâàíèþ äèàãðàìì, íå òðåáóþùèå íàïèñàíèÿ ìàêðîñîâ 504Óïðàâëåíèå ïîñëåäîâàòåëüíîñòÿìè ìåòîäîì ñêðûòèÿ äàííûõ 504Õðàíåíèå íåñêîëüêèõ äèàãðàìì íà îäíîì ëèñòå äèàãðàììû 505Ñîçäàíèå ñàìîðàñøèðÿþùåéñÿ äèàãðàììû 506Ñîçäàíèå èíòåðàêòèâíîé äèàãðàììû 511

    Ãëàâà 19. Êîíöåïöèÿ ñîáûòèé Excel 515Òèïû ñîáûòèé Excel 516×òî íåîáõîäèìî çíàòü î ñîáûòèÿõ 516

    Ïîíèìàíèå ïîñëåäîâàòåëüíîñòåé ñîáûòèé 516Ðàçìåùåíèå ïðîöåäóð îáðàáîòêè ñîáûòèé 517Îòêëþ÷åíèå ñîáûòèé 518Ââîä êîäà ïðîöåäóðû îáðàáîòêè ñîáûòèÿ 519Ïðîöåäóðû îáðàáîòêè ñîáûòèé, êîòîðûå èñïîëüçóþò àðãóìåíòû 520

    Ñîáûòèÿ îáúåêòà Workbook 521Ñîáûòèå Open 522Ñîáûòèå Activate 523Ñîáûòèå SheetActivate 523Ñîáûòèå NewSheet 523Ñîáûòèå BeforeSave 524Ñîáûòèå Deactivate 524Ñîáûòèå BeforePrint 525Ñîáûòèå BeforeClose 525

    Ñîáûòèÿ îáúåêòà Worksheet 527Ñîáûòèå Change 527Îòñëåæèâàíèå èçìåíåíèé â îïðåäåëåííîì äèàïàçîíå 528Ñîáûòèå SelectionChange 531

  • 18 Содержание

    Ñîáûòèå BeforeRightClick 532Ñîáûòèÿ îáúåêòà Chart 533Ñîáûòèÿ îáúåêòà Application 533

    Âêëþ÷åíèå ñîáûòèé óðîâíÿ îáúåêòà Application 536Îïðåäåëåíèå ôàêòà îòêðûòèÿ ðàáî÷åé êíèãè 536Îòñëåæèâàíèå ñîáûòèé óðîâíÿ îáúåêòà Application 537

    Ñîáûòèÿ îáúåêòà UserForm 538Ñîáûòèÿ, íå ñâÿçàííûå ñ êîíêðåòíûìè îáúåêòàìè 539

    Ñîáûòèå OnTime 539Ñîáûòèå OnKey 541

    Ãëàâà 20. Âçàèìîäåéñòâèå ñ äðóãèìè ïðèëîæåíèÿìè 543Çàïóñê äðóãîãî ïðèëîæåíèÿ 543

    Èñïîëüçîâàíèå ôóíêöèè Shell 543Èñïîëüçîâàíèå API-ôóíêöèè ShellExecute 545

    Àêòèâèçàöèÿ äðóãîãî ïðèëîæåíèÿ 546Îïåðàòîð AppActivate 546Àêòèâèçàöèÿ ïðèëîæåíèÿ Microsoft Office 547

    Çàïóñê àïëåòîâ ïàïêè Ïàíåëü óïðàâëåíèÿ è ìàñòåðîâ 547Àâòîìàòèçàöèÿ 548

    Ðàáîòà ñ âíåøíèìè îáúåêòàìè 549Ðàííÿÿ è ïîçäíÿÿ ïðèâÿçêà 549Ïðîñòîé ïðèìåð ïîçäíåé ïðèâÿçêè 552Óïðàâëåíèå ïðèëîæåíèåì Word èç Excel 552Óïðàâëåíèå Excel èç äðóãîãî ïðèëîæåíèÿ 555Îòïðàâêà ïî÷òîâûõ ñîîáùåíèé ñ ïîìîùüþ Outlook 557

    Ðàáîòà ñ ADO 558Îòïðàâêà ïî÷òîâûõ âëîæåíèé ñ ïîìîùüþ Excel 560Èñïîëüçîâàíèå ìåòîäà SendKeys 560

    Ãëàâà 21. Ñîçäàíèå è èñïîëüçîâàíèå íàäñòðîåê 563×òî òàêîå íàäñòðîéêà 563

    Ñðàâíåíèå íàäñòðîéêè ñî ñòàíäàðòíîé ðàáî÷åé êíèãîé 563Îñíîâíûå ïðè÷èíû ñîçäàíèÿ íàäñòðîéêè 564

    Èñïîëüçîâàíèå äèñïåò÷åðà íàäñòðîåê Excel 565Ñîçäàíèå íàäñòðîéêè 566Ïðèìåð íàäñòðîéêè 567

    Íàñòðîéêà ðàáî÷åé êíèãè 567Òåñòèðîâàíèå ðàáî÷åé êíèãè 568Äîáàâëåíèå îïèñàòåëüíîé èíôîðìàöèè 568Ñîçäàíèå íàäñòðîéêè 568Óñòàíîâêà íàäñòðîéêè 569Ðàñïðîñòðàíåíèå íàäñòðîéêè 570Èçìåíåíèå íàäñòðîéêè 570

    Ñðàâíåíèå ôàéëîâ XLA è XLS 572Ñòðóêòóðà è ðàçìåð ôàéëîâ 572×ëåíñòâî â êîëëåêöèÿõ 572Îêíà 572Ëèñòû 573Ïîëó÷åíèå äîñòóïà ê VBA-ïðîöåäóðàì íàäñòðîéêè 573

    Óïðàâëåíèå íàäñòðîéêàìè ñ ïîìîùüþ êîäà VBA 576Êîëëåêöèÿ AddIns 576Ñâîéñòâà îáúåêòà AddIn 577Ñîáûòèÿ îáúåêòà AddIn 580

    Îïòèìèçàöèÿ ïðîèçâîäèòåëüíîñòè íàäñòðîåê 580

  • Содержание 19

    Ñêîðîñòü âûïîëíåíèÿ êîäà 580Ðàçìåð ôàéëîâ 581

    Îñîáûå ïðîáëåìû, ñâÿçàííûå ñ èñïîëüçîâàíèåì íàäñòðîåê 582Ïðàâèëüíàÿ óñòàíîâêà 582Ññûëêè íà äðóãèå ôàéëû 583Óêàçàíèå ïðàâèëüíîé âåðñèè Excel 583

    Часть VI. Разработка приложений 585

    Ãëàâà 22. Ñîçäàíèå ñîáñòâåííûõ ïàíåëåé èíñòðóìåíòîâ 587Î êîìàíäíûõ ïàíåëÿõ 587Óïðàâëåíèå ïàíåëÿìè èíñòðóìåíòîâ 588Êàê Excel îáðàáàòûâàåò ïàíåëè èíñòðóìåíòîâ 588

    Õðàíåíèå ïàíåëåé èíñòðóìåíòîâ 588Êîãäà ïàíåëè èíñòðóìåíòîâ ðàáîòàþò íåêîððåêòíî 589

    Ðó÷íîå óïðàâëåíèå ïàíåëÿìè èíñòðóìåíòîâ è êíîïêàìè 590Î ðåæèìå ìîäèôèêàöèè êîìàíäíûõ ïàíåëåé 590Ðàñïðîñòðàíåíèå ïàíåëåé èíñòðóìåíòîâ 593

    Óïðàâëåíèå êîëëåêöèåé CommandBars 595Òèïû êîìàíäíûõ ïàíåëåé 595Ïðîñìîòð ñïèñêà îáúåêòîâ CommandBar 595Ñîçäàíèå êîìàíäíîé ïàíåëè 596Ññûëêè íà êîìàíäíûå ïàíåëè 597Óäàëåíèå êîìàíäíûõ ïàíåëåé 598Ñâîéñòâà êîìàíäíûõ ïàíåëåé 598Ññûëêà íà ýëåìåíòû óïðàâëåíèÿ êîìàíäíîé ïàíåëè 603Ïåðå÷èñëåíèå ýëåìåíòîâ óïðàâëåíèÿ íà êîìàíäíîé ïàíåëè 604Ïåðå÷èñëåíèå ýëåìåíòîâ óïðàâëåíèÿ íà âñåõ ïàíåëÿõ èíñòðóìåíòîâ 604Äîáàâëåíèå ýëåìåíòîâ óïðàâëåíèÿ íà êîìàíäíóþ ïàíåëü 605Óäàëåíèå ýëåìåíòà óïðàâëåíèÿ èç êîìàíäíîé ïàíåëè 606Ñâîéñòâà ýëåìåíòîâ óïðàâëåíèÿ êîìàíäíûõ ïàíåëåé 606

    Ãëàâà 23. Ñîçäàíèå ïîëüçîâàòåëüñêèõ ìåíþ 615Íåñêîëüêî ñëîâ î ñòðîêå ìåíþ Excel 615Îïåðàöèè ñ ìåíþ Excel 616

    Òåðìèíîëîãèÿ 616Óäàëåíèå ýëåìåíòîâ ìåíþ 617Äîáàâëåíèå ýëåìåíòîâ ìåíþ 618Èçìåíåíèå îïöèé ìåíþ 618

    Ïðèìåðû êîäà VBA 619Âûâîä èíôîðìàöèè î ìåíþ 619Äîáàâëåíèå íîâîãî ìåíþ â ñòðîêó ìåíþ 619Óäàëåíèå ìåíþ èç ñòðîêè ìåíþ 623Äîáàâëåíèå îïöèé â ìåíþ 623Îòîáðàæåíèå êîìáèíàöèè êëàâèø âìåñòå ñ îïöèåé ìåíþ 626Èñïðàâëåíèå âîññòàíîâëåííîãî ìåíþ 628

    Ðàáîòà ñ ñîáûòèÿìè 628Àâòîìàòè÷åñêîå äîáàâëåíèå è óäàëåíèå ìåíþ 628Îòêëþ÷åíèå èëè ñêðûòèå ìåíþ 629Ðàáîòà ñ óñòàíîâëåííûìè îïöèÿìè ìåíþ 630

    Ïðîñòîé ñïîñîá ñîçäàíèÿ ïîëüçîâàòåëüñêèõ ìåíþ 633Çàìåíà ñòðîêè ìåíþ ëèñòà 634Ðàáîòà ñ êîíòåêñòíûìè ìåíþ 636

    Äîáàâëåíèå îïöèé â êîíòåêñòíîå ìåíþ 637Óäàëåíèå îïöèé èç êîíòåêñòíîãî ìåíþ 638

  • 20 Содержание

    Îòêëþ÷åíèå îïöèé êîíòåêñòíîãî ìåíþ 639Îòêëþ÷åíèå êîíòåêñòíûõ ìåíþ 639Ñáðîñ êîíòåêñòíûõ ìåíþ 639Ñîçäàíèå íîâîãî êîíòåêñòíîãî ìåíþ 640

    Ãëàâà 24. Ïðåäîñòàâëåíèå ñïðàâêè â ïðèëîæåíèÿõ 643Ñïðàâêà â ïðèëîæåíèÿõ Excel 643Ñïðàâî÷íàÿ ñèñòåìà, ïîñòðîåííàÿ ñ ïîìîùüþ êîìïîíåíòîâ Excel 645

    Èñïîëüçîâàíèå êîììåíòàðèåâ ê ÿ÷åéêàì äëÿ ïðåäîñòàâëåíèÿ ñïðàâêè 646Ïðèìåíåíèå òåêñòîâîãî ïîëÿ äëÿ ïðåäîñòàâëåíèÿ ñïðàâêè 646Èñïîëüçîâàíèå ðàáî÷åãî ëèñòà äëÿ ñîõðàíåíèÿ òåêñòà ñïðàâî÷íîãîðóêîâîäñòâà 647Îòîáðàæåíèå ñïðàâî÷íîé èíôîðìàöèè â ïîëüçîâàòåëüñêîìäèàëîãîâîì îêíå 647Èñïîëüçîâàíèå ïîìîùíèêà ïî Office äëÿ îòîáðàæåíèÿñïðàâî÷íîãî ðóêîâîäñòâà 651

    Èìèòàöèÿ ñðåäñòâà ×òî ýòî òàêîå? 653Èñïîëüçîâàíèå ñðåäñòâà HTML Help System 653Ñâÿçûâàíèå ôàéëîâ ñïðàâî÷íîãî ðóêîâîäñòâà ñ ïðèëîæåíèåì 655Äðóãèå ñïîñîáû îòîáðàæåíèÿ ñïðàâî÷íîãî ðóêîâîäñòâà â ôîðìàòåWinHelp èëè HTML Help 656

    Èñïîëüçîâàíèå ìåòîäà Help 657Îòîáðàæåíèå ñïðàâî÷íîé èíôîðìàöèè â îêíå ñîîáùåíèÿ 657Îòîáðàæåíèå ñïðàâî÷íîé èíôîðìàöèè â îêíå ââîäà äàííûõ 657

    Ãëàâà 25. Ðàçðàáîòêà ïðèëîæåíèé äëÿ ïîëüçîâàòåëåé 659Îïðåäåëåíèå ïðèëîæåíèÿ, îðèåíòèðîâàííîãî íà ïîëüçîâàòåëÿ 659Ìàñòåð ðàñ÷åòà çàéìà 659

    Èñïîëüçîâàíèå ïðèëîæåíèÿ 660Ñòðóêòóðà ðàáî÷åé êíèãè 661Êàê ýòî ðàáîòàåò 662Ïîòåíöèàëüíûå óëó÷øåíèÿ 666

    Êîíöåïöèè ðàçðàáîòêè ïðèëîæåíèé 666Çàêëþ÷åíèå 667

    Часть VII. Другие темы 669

    Ãëàâà 26. Âîïðîñû ñîâìåñòèìîñòè 671×òî òàêîå ñîâìåñòèìîñòü 671Ïðîáëåìû ñîâìåñòèìîñòè 672Ïîääåðæèâàåìûå ôîðìàòû ôàéëîâ Excel 672Èçáåãàéòå èñïîëüçîâàíèÿ íîâûõ âîçìîæíîñòåé 674Ïîääåðæêà ïëàòôîðìû Mac 674Ñîçäàíèå èíòåðíàöèîíàëüíûõ ïðèëîæåíèé 675

    Ìíîãîÿçûêîâûå ïðèëîæåíèÿ 676ßçûê â VBA 677Èñïîëüçîâàíèå “ëîêàëüíûõ” ñâîéñòâ 677Èäåíòèôèêàöèÿ íàñòðîåê ñèñòåìû 678Ïàðàìåòðû íàñòðîéêè äàòû è âðåìåíè 680

    Ãëàâà 27. Óïðàâëåíèå ôàéëàìè ñ ïîìîùüþ VBA 681×àñòî âûïîëíÿåìûå îïåðàöèè 681

    Êîìàíäû VBA ïî óïðàâëåíèþ ôàéëàìè 682Èñïîëüçîâàíèå îáúåêòà FileSearch 684Èñïîëüçîâàíèå îáúåêòà FileSystemObject 685

  • Содержание 21

    Ïîèñê ôàéëîâ, êîòîðûå ñîäåðæàò îïðåäåëåííûé òåêñò 687Ðàáîòà ñ òåêñòîâûìè ôàéëàìè 688

    Îòêðûòèå òåêñòîâîãî ôàéëà 688×òåíèå òåêñòîâîãî ôàéëà 689Çàïèñü â òåêñòîâûé ôàéë 689Ïîëó÷åíèå íîìåðà ôàéëà 689Îïðåäåëåíèå èëè óñòàíîâêà ïîçèöèè â ôàéëå 690Îïåðàòîðû ÷òåíèÿ è çàïèñè 690

    Ïðèìåðû óïðàâëåíèÿ òåêñòîâûìè ôàéëàìè 691Èìïîðòèðîâàíèå äàííûõ èç òåêñòîâîãî ôàéëà 691Ýêñïîðòèðîâàíèå äèàïàçîíà â òåêñòîâûé ôàéë 691Èìïîðòèðîâàíèå òåêñòîâîãî ôàéëà â äèàïàçîí 692Ïðîòîêîëèðîâàíèå îïåðàöèé â Excel 693Ôèëüòðàöèÿ òåêñòîâîãî ôàéëà 694Èìïîðòèðîâàíèå áîëåå 256 ñòîëáöîâ äàííûõ 694Ýêñïîðòèðîâàíèå äèàïàçîíà â ôîðìàò HTML 696Ýêñïîðòèðîâàíèå äèàïàçîíà â XML-ôàéë 699

    Ãëàâà 28. Óïðàâëåíèå êîìïîíåíòàìè Visual Basic 701Ââåäåíèå â IDE 701Îáúåêòíàÿ ìîäåëü IDE 702

    Êîëëåêöèÿ VBProjects 703Ïåðâûé ïðèìåð 704Çàìåùåíèå ìîäóëÿ îáíîâëåííîé âåðñèåé 705Èñïîëüçîâàíèå VBA äëÿ ñîçäàíèÿ êîäà VBA 707Äîáàâëåíèå ýëåìåíòîâ óïðàâëåíèÿ â äèàëîãîâîå îêíî UserFormíà ýòàïå ðàçðàáîòêè 709

    Óïðàâëåíèå äèàëîãîâûìè îêíàìè UserForm íà ýòàïå ðàçðàáîòêèè íà ýòàïå âûïîëíåíèÿ 710Äîáàâëåíèå 100 ýëåìåíòîâ óïðàâëåíèÿ CommandButtoníà ýòàïå ðàçðàáîòêè 711

    Ïðîãðàììíîå ñîçäàíèå äèàëîãîâûõ îêîí UserForm 712Ïðîñòîé ïðèìåð 713Ñëîæíûé ïðèìåð 714

    Ãëàâà 29. Ïðèíöèïû óïðàâëåíèÿ ìîäóëÿìè êëàññîâ 719×òî òàêîå ìîäóëü êëàññà 719Ïðèìåð: ñîçäàíèå êëàññà NumLock 720

    Âñòàâêà ìîäóëÿ êëàññà 720Äîáàâëåíèå êîäà VBA 721Èñïîëüçîâàíèå êëàññà NumLock 723

    Åùå î ìîäóëÿõ êëàññîâ 724Èìåíîâàíèå êëàññà îáúåêòîâ 724Ïðîãðàììèðîâàíèå ñâîéñòâ 724Ìåòîäû ïðîãðàììèðîâàíèÿ 726Ñîáûòèÿ ìîäóëÿ êëàññà 726

    Ïðèìåð: êëàññ CSVFile 726Ïåðåìåííûå óðîâíÿ ìîäóëÿ êëàññà 727Ïðîöåäóðû ñâîéñòâ 727Ïðîöåäóðû ìåòîäîâ 727Èñïîëüçîâàíèå îáúåêòà CSVFileClass 729

    Ãëàâà 30. ×àñòî çàäàâàåìûå âîïðîñû î ïðîãðàììèðîâàíèè â Excel 731Îáùèå âîïðîñû îá Excel 732Ðåäàêòîð Visual Basic 735

  • 22 Содержание

    Ïðîöåäóðû 738Ôóíêöèè 742Îáúåêòû, ñâîéñòâà, ìåòîäû è ñîáûòèÿ 745Ïîëüçîâàòåëüñêèå äèàëîãîâûå îêíà 753Íàäñòðîéêè 758Îáúåêòû CommandBar 759

    Ïðèëîæåíèå À. Èíôîðìàöèîííûå ðåñóðñû, ïîñâÿùåííûå Excel 763Òåõíè÷åñêàÿ ïîääåðæêà ñî ñòîðîíû êîìïàíèè Microsoft 763

    Âàðèàíòû ïîääåðæêè 763Áàçà çíàíèé Microsoft 764Íà÷àëüíàÿ ñòðàíèöà Microsoft Excel 764Ñðåäñòâà Microsoft Office 764

    Ãðóïïû íîâîñòåé 764Ãðóïïû íîâîñòåé, ïîñâÿùåííûå ýëåêòðîííûì òàáëèöàì 764Êîíôåðåíöèè Microsoft 764Ïîèñê â ãðóïïàõ íîâîñòåé 765

    Web-óçëû 766Spreadsheet Page 766Web-óçåë ×èïà Ïèðñîíà, ïîñâÿùåííûé Excel 767Web-óçåë Ñòèâåíà Áóëå, ïîñâÿùåííûé Excel 767Ñïèñîê ÷àñòî çàäàâàåìûõ âîïðîñîâ, êàñàþùèõñÿ ýëåêòðîííûõ òàáëèö 767

    Ïðèëîæåíèå Á. Ñïðàâî÷íèê ïî ôóíêöèÿì è îïåðàòîðàì VBA 769Âûçîâ ôóíêöèé Excel ñ ïîìîùüþ îïåðàòîðîâ VBA 772

    Ïðèëîæåíèå Â. Êîäû îøèáîê VBA 777

    Ïðèëîæåíèå Ã. Ñîäåðæèìîå êîìïàêò-äèñêà 781Ñèñòåìíûå òðåáîâàíèÿ 781

    Èñïîëüçîâàíèå êîìïàêò-äèñêà â Windows 781Ïðèìåðû èç ãëàâ 781

    Ïðåäìåòíûé óêàçàòåëü 792

  • Об автореÄæîí Óîêåíáàõ – îäèí èç ñàìûõ èçâåñòíûõ àâòîðîâ êíèã ïî ýëåêòðîííûì òàáëè-

    öàì. Îí ÿâëÿåòñÿ ãëàâîé êîìïàíèè JWalk and Associates Inc. – íåáîëüøîé êîíñàë-òèíãîâîé ôèðìû, ðàñïîëîæåííîé â Ñàí-Äèåãî è ñïåöèàëèçèðóþùåéñÿ íà ðàçðàáîòêåïðèëîæåíèé ýëåêòðîííûõ òàáëèö. Åãî ïåðó ïðèíàäëåæèò îêîëî 30 êíèã, ïîñâÿùåííûõýëåêòðîííûì òàáëèöàì, è áîëåå 300 ñòàòåé â òàêèõ æóðíàëàõ, êàê PC World, InfoWorld,PC Magazine, Windows è PC/Computing. Îí òàêæå ïîääåðæèâàåò ïîïóëÿðíûé Web-óçåëThe Spreadsheet Page (www.j-walk.com/ss/). Îäíî èç íàèáîëåå çíà÷èòåëüíûõ äîñòè-æåíèé Äæîíà – ðàçðàáîòêà íàäñòðîéêè Power Utility Pak, ïîëó÷èâøåé ïðèç êîðïîðà-öèè Microsoft.

    Äæîí Óîêåíáàõ îêîí÷èë óíèâåðñèòåò øòàòà Ìèññóðè, ïîëó÷èë ñòåïåíü ìàãèñòðàè äîêòîðà ôèëîñîôèè â óíèâåðñèòåòå øòàòà Ìîíòàíà.

  • ПредисловиеÄîáðî ïîæàëîâàòü â êíèãó Ïðîôåññèîíàëüíîå ïðîãðàììèðîâàíèå íà VBA â Excel 2003 !

    Åñëè âû, êðîìå âñåãî ïðî÷åãî, ðàçðàáàòûâàåòå ýëåêòðîííûå òàáëèöû, ïðåäíàçíà÷åí-íûå äëÿ äðóãèõ ïîëüçîâàòåëåé, èëè ïðîñòî ðåøèëè âçÿòü îò Excel ìàêñèìóì âîçìîæ-íîãî, òî ñäåëàëè ïðàâèëüíûé âûáîð, ïðèîáðåâ ýòó êíèãó.

    Почему я написал эту книгуÏî Excel íàïèñàíî íåìàëî ñåðüåçíûõ ðàáîò. Îäíàêî äàííàÿ êíèãà ÿâëÿåòñÿ åäèíñò-

    âåííîé, â êîòîðîé ðàçðàáîòêà ïðèëîæåíèé ýëåêòðîííûõ òàáëèö ðàññìàòðèâàåòñÿ âøèðîêîì êîíòåêñòå. Äåëî â òîì, ÷òî VBA – âñåãî ëèøü îäèí èç êîìïîíåíòîâ ñðåäûðàçðàáîòêè ïîëüçîâàòåëüñêèõ ïðèëîæåíèé (ñòîèò çàìåòèòü, ÷òî êîìïîíåíò ýòîò î÷åíüñóùåñòâåííûé). À òàêîé ïðîãðàììíûé ïðîäóêò, êàê Excel, îòëè÷àåòñÿ ñêðûòûìè âîç-ìîæíîñòÿìè.  íåì ïðåäóñìîòðåíî íåìàëî èíòåðåñíûõ âîçìîæíîñòåé, êîòîðûå íàõî-äÿòñÿ â ãëóáèíàõ, íåâåäîìûõ ïðîñòîìó ïîëüçîâàòåëþ. Êðîìå òîãî, íåêîòîðûå õîðîøîèçâåñòíûå ñðåäñòâà ìîæíî èñïîëüçîâàòü ïî-íîâîìó.

    Ìèëëèîíû ëþäåé ïî âñåìó ìèðó ðàáîòàþò ñ Excel. ß ïîñòîÿííî ñëåæó çà ãðóïïàìèíîâîñòåé, ïîñâÿùåííûõ ýëåêòðîííûì òàáëèöàì, è ïðèøåë ê âûâîäó, ÷òî ïîëüçîâàòåëèõîòÿò ïîëó÷àòü (è îêàçûâàòü) ïîìîùü èìåííî ïî òåì âîïðîñàì, êîòîðûì ïîñâÿùåíàíàñòîÿùàÿ êíèãà. Ìíå êàæåòñÿ, ÷òî ëèøü íåìíîãèå ïîëüçîâàòåëè Excel äåéñòâèòåëüíîïîíèìàþò, êàêîâû èñòèííûå âîçìîæíîñòè ýòîãî ïðîãðàììíîãî ïðîäóêòà.  äàííîìèçäàíèè ñîáðàíà âñÿ èíôîðìàöèÿ, êîòîðàÿ ïîìîæåò âàì âîéòè â ýòó ýëèòíóþ êîìïà-íèþ. Âû ãîòîâû?

    Что необходимо знатьÊíèãà íå ïðåäíàçíà÷åíà äëÿ íà÷èíàþùèõ ïîëüçîâàòåëåé Excel. Åñëè ó âàñ íåò

    îïûòà ðàáîòû ñ ýòèì ïðèëîæåíèåì, òî ïðî÷òèòå ñíà÷àëà êíèãó Excel 2003. Áèáëèÿïîëüçîâàòåëÿ (âàøåãî ïîêîðíîãî ñëóãè), êîòîðàÿ ïîäðîáíî ðàññêàçûâàåò îáî âñåõ âîç-ìîæíîñòÿõ Excel (îíà àäðåñîâàíà ïîëüçîâàòåëÿì âñåõ óðîâíåé).

    ×òîáû ïîëó÷èòü îò íàñòîÿùåé êíèãè ìàêñèìóì âîçìîæíîãî, íåîáõîäèìî áûòü äîñ-òàòî÷íî îïûòíûì ïîëüçîâàòåëåì Excel. ß íå óäåëÿþ îñîáîãî âíèìàíèÿ âûïîëíåíèþïðîñòûõ îïåðàöèé. Ïðåäïîëàãàåòñÿ, ÷òî âû óìååòå ñëåäóþùåå:

    ♦ ñîçäàâàòü ðàáî÷èå êíèãè, âñòàâëÿòü ëèñòû, ñîõðàíÿòü ôàéëû è ò.ä.;

    ♦ ïåðåìåùàòüñÿ ïî ðàáî÷åé êíèãå;

    ♦ ïîëüçîâàòüñÿ ìåíþ è êîìáèíàöèÿìè êëàâèø;

    ♦ óïðàâëÿòü ïàíåëÿìè èíñòðóìåíòîâ Excel;

    ♦ èñïîëüçîâàòü ôóíêöèè ðàáî÷èõ ëèñòîâ Excel;

    ♦ äàâàòü èìåíà ÿ÷åéêàì è äèàïàçîíàì;

    ♦ ïðèìåíÿòü îñíîâíûå âîçìîæíîñòè Windows, òàêèå, íàïðèìåð, êàê áóôåð îáìå-íà è ïðèåìû óïðàâëåíèÿ ôàéëàìè.

    Åñëè âû íå çíàåòå, êàê âñå ýòî äåëàòü, òî, âîçìîæíî, íåêîòîðàÿ èíôîðìàöèÿ îêà-æåòñÿ äëÿ âàñ äîâîëüíî ñëîæíîé. Èòàê, ñ÷èòàéòå, ÷òî âàñ ïðåäóïðåäèëè. Åñëè æå âûîïûòíûé ïîëüçîâàòåëü ýëåêòðîííûõ òàáëèö, íî åùå íå ðàáîòàëè ñ Excel 2003, òî êðàò-êèé îáçîð âîçìîæíîñòåé ýòîãî ïðîäóêòà ìîæíî íàéòè â ãëàâå 2.

  • Предисловие 25

    Что рекомендуется иметьÄëÿ ýôôåêòèâíîé ðàáîòû ñ êíèãîé íåîáõîäèìî èìåòü êîïèþ Excel. Íåñìîòðÿ íà

    òî, ÷òî äàííîå èçäàíèå ïîñâÿùåíî Excel 2003, ÷àñòü èçëîæåííîé èíôîðìàöèè òàêæåîòíîñèòñÿ ê Excel 97 è áîëåå ïîçäíèì âåðñèÿì ïðîãðàììû. Åñëè âû ïîëüçóåòåñü åùåáîëåå ðàííåé âåðñèåé Excel, òî ýòà êíèãà òî÷íî íå äëÿ âàñ. Êðîìå òîãî, ìàòåðèàëêíèãè, â îñíîâíîì, ïðèìåíèì è ê Excel äëÿ Macintosh. Âïðî÷åì, èñïûòàíèÿ íà ñî-âìåñòèìîñòü ñ âåðñèåé äëÿ Mac ÿ íå ïðîâîäèë è îñòàâëÿþ ýòî äëÿ âàñ.

    Äîñòàòî÷íî èìåòü êîìïüþòåðíóþ ñèñòåìó íà îñíîâå ïëàòôîðìû Windows, íî ëó÷-øå ïðèîáðåñòè êîìïüþòåð ñ áîëüøèì êîëè÷åñòâîì îïåðàòèâíîé ïàìÿòè. Excel – ýòîñëîæíàÿ ïðîãðàììà, åå èñïîëüçîâàíèå â íèçêîïðîèçâîäèòåëüíîé ñèñòåìå èëè â ñèñòå-ìå ñ íåáîëüøèì îáúåìîì ïàìÿòè íå ïðèíåñåò âàì ðàäîñòè â ðàáîòå.

    Ðåêîìåíäóþ óñòàíàâëèâàòü âûñîêîå ðàçðåøåíèå ýêðàíà (800×600 – äîñòàòî÷íî,1024×768 – ïðåêðàñíî, à 1600×1024 – ýòî “âûøå êðûøè”).  êðàéíåì ñëó÷àå, ïîäîé-äåò è ñòàíäàðòíîå ðàçðåøåíèå 640×480.

    Соглашения, используемые в этой книгеÓäåëèòå ëèøíþþ ìèíóòó, ÷òîáû ïðîñìîòðåòü ýòîò ðàçäåë, è óçíàéòå î íåêîòîðûõ

    ñîãëàøåíèÿõ, êîòîðûå èñïîëüçóþòñÿ ïî âñåé êíèãå.

    Соглашения, относящиеся к клавиатуреÄëÿ ââîäà äàííûõ âàì íóæíà êëàâèàòóðà. Êðîìå òîãî, ðàáîòàòü ñ ìåíþ è äèàëîãî-

    âûìè îêíàìè òàêæå ìîæíî ñ ïîìîùüþ êëàâèàòóðû.

    ВВОДÂñå, ÷òî ââîäèòñÿ ñ êëàâèàòóðû, îòîáðàæàåòñÿ ïîëóæèðíûì øðèôòîì, íàïðèìåð,

    “ââåäèòå =ÑÓÌÌ(B2:B50) â ÿ÷åéêó B51”.Äëèííîå ââîäèìîå çíà÷åíèå ðàñïîëàãàåòñÿ â îòäåëüíîé ñòðîêå è äëÿ íåãî èñïîëü-

    çóåòñÿ ìîíîøèðèííûé øðèôò. Íàïðèìåð, âû ìîæåòå ïîëó÷èòü óêàçàíèå ââåñòèñëåäóþùóþ ôîðìóëó.

    =( (A1:A8)+ (B1:B8))/25

    КОД VBAÂ ýòîé êíèãå âû áóäåòå ñòàëêèâàòüñÿ ñ ôðàãìåíòàìè êîäà VBA, à òàêæå ïîëíûìè

    ëèñòèíãàìè ïðîöåäóð.  êàæäîì ëèñòèíãå èñïîëüçóåòñÿ ìîíîøèðèííûé øðèôò, à êà-æäàÿ ñòðîêà êîäà çàíèìàåò â òåêñòå êíèãè îòäåëüíóþ ñòðîêó. ×òîáû êîä áûëî ëåã÷å÷èòàòü, èñïîëüçóþòñÿ îòñòóïû, çàäàííûå ñ ïîìîùüþ ñèìâîëîâ òàáóëÿöèè. Êîíå÷íî,çàäàâàòü îòñòóïû íå îáÿçàòåëüíî, íî îíè ïîìîãàþò îòäåëÿòü äðóã îò äðóãà îïåðàòîðû,íàõîäÿùèåñÿ ðÿäîì.

    Åñëè ñòðîêà êîäà íå ïîìåùàåòñÿ â îäíîé ñòðîêå êíèãè, òî èñïîëüçóåòñÿ ñòàíäàðò-íûé äëÿ VBA ìåòîä ïðîäîëæåíèÿ ñòðîêè: â êîíöå ñòðîêè ââîäèòñÿ ïðîáåë, ïîñëåêîòîðîãî ðàñïîëàãàåòñÿ ñèìâîë ïîä÷åðêèâàíèÿ. Ýòî îçíà÷àåò, ÷òî äàííàÿ ñòðîêà êîäàïðîäîëæàåòñÿ ñëåäóþùèì ôðàãìåíòîì. Íàïðèìåð, ïðèâåäåííûå íèæå äâå ñòðîêè òåê-ñòà ïðåäñòàâëÿþò îäíó ñòðîêó êîäà.

    If Right(ActiveCell, 1) = "!" Then ActiveCell _ = Left(ActiveCell, Len(ActiveCell) — 1)

    Ýòîò êîä ìîæíî ââåñòè èëè òàê, êàê ïîêàçàíî (ò.å. â äâóõ ñòðîêàõ), èëè â îäíîé,íå èñïîëüçóÿ ñèìâîëà ïîä÷åðêèâàíèÿ.

  • 26 Предисловие

    ФУНКЦИИ, ИМЕНА ФАЙЛОВ И ИМЕНОВАННЫЕ ДИАПАЗОНЫÄëÿ îòîáðàæåíèÿ ôóíêöèé ðàáî÷èõ ëèñòîâ Excel èñïîëüçóåòñÿ âåðõíèé ðåãèñòð

    ìîíîøèðèííîãî øðèôòà (íàïðèìåð: “ ÿ÷åéêó C20 ââåäèòå ôîðìóëó ”). Èìåíà,ñâîéñòâà, ìåòîäû è îáúåêòû ïðîöåäóð VBA îòîáðàæàþòñÿ ìîíîøèðèííûì øðèôòîì(“Âûïîëíèòå ïðîöåäóðó GetTotals”).  òàêèõ èìåíàõ, ÷òîáû îíè ëåã÷å ÷èòàëèñü,íåðåäêî îäíîâðåìåííî èñïîëüçóåòñÿ è íèæíèé, è âåðõíèé ðåãèñòðû.

    Соглашения, относящиеся к мышиÅñëè âû ÷èòàåòå ýòó êíèãó, òî, çíà÷èò, õîðîøî çíàåòå, êàê ïîëüçîâàòüñÿ ìûøüþ.

    Âñÿ “ìûøèíàÿ” òåðìèíîëîãèÿ ÿâëÿåòñÿ äîñòàòî÷íî ñòàíäàðòíîé: “óêàçàíèå”, “ùåë÷îê”,“ùåë÷îê ïðàâîé êíîïêîé”, “ïåðåòàñêèâàíèå” è ò.ä.

    Что означают пиктограммыÏîâñåìåñòíî â êíèãå ñëåâà îò àáçàöåâ ìîæíî âñòðåòèòü ïèêòîãðàììû. Îíè èñïîëü-

    çóþòñÿ äëÿ òîãî, ÷òîáû ïðèâëå÷ü âàøå âíèìàíèå ê îñîáî âàæíîé èíôîðìàöèè.

    , , Windows XP, . ,

    ..

    , , -, Excel 2003. -

    , Excel,.

    , ,, , -

    .

    -, , , .

    , ,, .

    ,, .

    , -- .

    НОВИ

    НКА

    НАЗАМЕТКУ

    ВНИМАНИЕ

    ССЫЛКАПЕРЕ

    КРЕС

    ТНАЯ

    СОВЕТ

    НА К

    ОМ

    ПАКТ

    ДИСКЕ

  • Предисловие 27

    Структура книгиÃëàâû äàííîé êíèãè ñãðóïïèðîâàíû â ñåìü îñíîâíûõ ÷àñòåé. Äîïîëíèòåëüíàÿ

    èíôîðìàöèÿ ïðèâîäèòñÿ â íåñêîëüêèõ ïðèëîæåíèÿõ.

    Часть I ýòîé ÷àñòè ïðåäñòàâëåíû îñíîâû èçó÷àåìîé ïðîãðàììû.  ãëàâå 1 èçëàãàåòñÿ

    êðàòêàÿ èñòîðèÿ ýëåêòðîííûõ òàáëèö – òàêèì îáðàçîì, âû ñìîæåòå îïðåäåëèòü ìåñòîExcel â ìèðå ïðîãðàììíîãî îáåñïå÷åíèÿ.  ãëàâå 2 ïðåäëîæåí êîíöåïòóàëüíûé àíàëèçExcel 2003 – äîñòàòî÷íî ïîëåçíûé äëÿ òåõ îïûòíûõ ïîëüçîâàòåëåé ýëåêòðîííûõ òàá-ëèö, êîòîðûå òîëüêî ïåðåõîäÿò ê èñïîëüçîâàíèþ Excel. ×òî æå êàñàåòñÿ ãëàâû 3, òî âíåé âêðàòöå ðàññìàòðèâàþòñÿ ôîðìóëû, êðîìå òîãî, ðàññêàçûâàåòñÿ î íåêîòîðûõ íî-âûõ ïðèåìàõ.  ãëàâå 4 îòìå÷åíû äîñòîèíñòâà è íåäîñòàòêè ðàçíûõ ôîðìàòîâ ôàéëîâ,ïîääåðæèâàåìûõ è ñîçäàâàåìûõ â Excel.

    Часть IIÄàííàÿ ÷àñòü ñîñòîèò èç äâóõ ãëàâ.  ãëàâå 5 â îáùèõ ÷åðòàõ îáñóæäàåòñÿ òåìà ñîç-

    äàíèÿ ïðèëîæåíèÿ ýëåêòðîííûõ òàáëèö. Ãëàâà 6 ïîñâÿùåíà áîëåå ãëóáîêîìó èçó÷å-íèþ âîïðîñà, â íåé îïèñàíû òèïè÷íûå äåéñòâèÿ ïî ðàçðàáîòêå ïðèëîæåíèé ýëåê-òðîííûõ òàáëèö.

    Часть III ýòó ÷àñòü âõîäÿò ãëàâû ñ 7 ïî 11.  íåé ðå÷ü ïîéäåò î ïîäãîòîâêå ê èçó÷åíèþ

    VBA. Âû îçíàêîìèòåñü ñ VBA, ñ îñíîâàìè ïðîãðàììèðîâàíèÿ è áîëåå ïîäðîáíî –ñ ðàçðàáîòêîé ïðîöåäóð è ôóíêöèé VBA. Ãëàâà 11 ïðåäëàãàåò ðàññìîòðåòü ïîëåçíûåïðèìåðû èñïîëüçîâàíèÿ VBA äëÿ ðåøåíèÿ åæåäíåâíûõ çàäà÷.

    Часть IV ÷åòûðåõ ãëàâàõ ýòîé ÷àñòè ðå÷ü èäåò î ïîëüçîâàòåëüñêèõ äèàëîãîâûõ îêíàõ

    (íàçûâàåìûõ òàêæå ïîëüçîâàòåëüñêèìè ôîðìàìè UserForm).  ãëàâå 12 îïèñûâàþòñÿàëüòåðíàòèâíûå ìåòîäû ñîçäàíèÿ ïîëüçîâàòåëüñêèõ ôîðì. Î ïîëüçîâàòåëüñêèõ ôîðìàõè ðàçëè÷íûõ ýëåìåíòàõ óïðàâëåíèÿ, èñïîëüçóåìûõ ïðè ñîçäàíèè ýòèõ ôîðì, ðàññêàçû-âàåòñÿ â ãëàâå 13.  ãëàâàõ 14 è 15 ïðèâåäåíû ïðèìåðû ïîëüçîâàòåëüñêèõ äèàëîãîâûõîêîí, íà÷èíàÿ îò ïðîñòûõ è çàêàí÷èâàÿ äîñòàòî÷íî ñëîæíûìè.

    Часть V ýòîé ÷àñòè ðàññìàòðèâàþòñÿ äîïîëíèòåëüíûå ìåòîäû ïðîãðàììèðîâàíèÿ, êîòî-

    ðûå íà ïåðâûé âçãëÿä íåâåðîÿòíî ñëîæíû äëÿ ïîíèìàíèÿ.  ïåðâûõ òðåõ ãëàâàõ ãîâî-ðèòñÿ î òîì, êàê ñîçäàâàòü óòèëèòû è êàê èñïîëüçîâàòü VBA äëÿ ðàáîòû ñî ñâîäíûìèòàáëèöàìè è äèàãðàììàìè.  ãëàâå 19 èäåò ðå÷ü î ïðîöåññå îáðàáîòêè ñîáûòèé, êîòî-ðûé ïîçâîëÿåò âûïîëíÿòü ïðîöåäóðû àâòîìàòè÷åñêè, ïðè÷åì âûïîëíÿòü èìåííî òîãäà,êîãäà ïðîèçîéäóò îïðåäåëåííûå ñîáûòèÿ. Èç ãëàâû 20 âû óçíàåòå î ñïîñîáàõ âçàèìî-äåéñòâèÿ ñ äðóãèìè ïðèëîæåíèÿìè (òàêèìè, íàïðèìåð, êàê Word). ×àñòü V çàêàí÷èâà-åòñÿ ãëàâîé 21, ãäå ïîäðîáíî îáñóæäàåòñÿ âîïðîñ ñîçäàíèÿ íàäñòðîåê.

  • 28 Предисловие

    Часть VIÃëàâû ýòîé ÷àñòè ïîñâÿùåíû âàæíûì ýòàïàì ñîçäàíèÿ ïðèëîæåíèé, îðèåíòèðî-

    âàííûõ íà êîíå÷íûõ ïîëüçîâàòåëåé.  ãëàâàõ 22 è 23 ðå÷ü èäåò î ñîçäàíèè ïîëüçîâà-òåëüñêèõ ìåíþ è ïàíåëåé èíñòðóìåíòîâ.  ãëàâå 24 îïèñàíû ñïîñîáû ïîäãîòîâêè èí-òåðàêòèâíîé ñïðàâî÷íîé ñèñòåìû äëÿ ïðèëîæåíèé. À â ãëàâå 25 ïðèâîäèòñÿ îñíîâíàÿèíôîðìàöèÿ ïî ðàçðàáîòêå ïðèëîæåíèé, îðèåíòèðîâàííûõ íà ïîëüçîâàòåëåé, à òàêæåïîäðîáíî ðàññìîòðåíî îäíî èç òàêèõ ïðèëîæåíèé.

    Часть VII ïÿòè ãëàâàõ ýòîé ÷àñòè îñâåùåíû äîïîëíèòåëüíûå âîïðîñû, êîòîðûå áóäóò âàì

    ïîëåçíû. Èíôîðìàöèÿ ïî ñîâìåñòèìîñòè ïðèâåäåíà â ãëàâå 26.  ãëàâå 27 îáñóæäàþò-ñÿ ðàçíûå ñïîñîáû ïðèìåíåíèÿ VBA äëÿ ðàáîòû ñ ôàéëàìè. ×òî æå êàñàåòñÿ ãëàâû 28,òî â íåé îáúÿñíÿåòñÿ, êàê ñ ïîìîùüþ VBA óïðàâëÿòü òàêèìè êîìïîíåíòàìè VisualBasic, êàê ïîëüçîâàòåëüñêèå ôîðìû è ìîäóëè.  ãëàâå 29 ðàññìîòðåíà òåìà ìîäóëåéêëàññîâ. Çàâåðøàåòñÿ äàííàÿ ÷àñòü ïîëåçíîé ãëàâîé, â êîòîðîé äàþòñÿ îòâåòû íàìíîãèå ÷àñòî çàäàâàåìûå âîïðîñû î ïðîãðàììèðîâàíèè â Excel.

    ПриложенияÇàâåðøàþò êíèãó ÷åòûðå ïðèëîæåíèÿ.  ïðèëîæåíèè À âû íàéäåòå ïîëåçíóþ èí-

    ôîðìàöèþ î ðåñóðñàõ Internet, ïîñâÿùåííûõ Excel. Ïðèëîæåíèå Á – ýòî ñïðàâî÷íîåðóêîâîäñòâî ïî âñåì êëþ÷åâûì ñëîâàì VBA (îïåðàòîðàì è ôóíêöèÿì). Êîäû îøèáîêVBA ïðèâåäåíû â ïðèëîæåíèè Â. Íàêîíåö, â ïîñëåäíåì ïðèëîæåíèè îïèñàíû ôàéëû,êîòîðûå âû íàéäåòå íà ïðèëàãàåìîì ê êíèãå êîìïàêò-äèñêå.

    О прилагаемом компакт6дискеÊ äàííîé êíèãå ïðèëàãàåòñÿ êîìïàêò-äèñê, â êîòîðîì âû íàéäåòå ôàéëû ïðèìå-

    ðîâ, ðàññìàòðèâàåìûõ â êíèãå. ß óáåæäåí, ÷òî ëþáûå çíàíèÿ ëó÷øå ïîëó÷àòü, èçó÷àÿæèçíåííûå ïðèìåðû, êîòîðûå ïðèãîäÿòñÿ ïðè ðåøåíèè áóäóùèõ çàäà÷. Íåñîìíåííî,òåîðåòè÷åñêèé ìàòåðèàë, èçëîæåííûé â êíèãå, òîæå âàæåí, íî áåç ïðàêòè÷åñêîãîïðèìåíåíèÿ îí íå ñòîèò è ëîìàíîãî ãðîøà. Íà ñàìîì äåëå ïîäãîòîâêà ôàéëîâ ïðèìå-ðîâ çàíÿëà íàìíîãî áîëüøå âðåìåíè, ÷åì íàïèñàíèå òåêñòîâîãî ìàòåðèàëà êíèãè.

    Ôàéëû ïðèìåðîâ íà ïðèëàãàåìîì êîìïàêò-äèñêå íå çààðõèâèðîâàíû, ïîýòîìó âûìîæåòå îòêðûâàòü èõ, íå êîïèðóÿ íà æåñòêèé äèñê êîìïüþòåðà.

    - .

    Как пользоваться этой книгойÂû ìîæåòå ðàáîòàòü ñ ýòîé êíèãîé, êàê âàì óäîáíî. Åñëè çàõîòèòå ïðî÷åñòü åå îò

    êîðêè äî êîðêè, òî áóäüòå ìîèì ãîñòåì. Íî òàê êàê ÿ ðàáîòàþ ñ ìàòåðèàëîì îò ñðåä-íåé äî ïîâûøåííîé ñëîæíîñòè, òî ïîðÿäîê ÷òåíèÿ ãëàâ ÷àñòî íå èìååò çíà÷åíèÿ.Ïîäîçðåâàþ, ÷òî áîëüøèíñòâî ÷èòàòåëåé êíèãè áóäóò “ïåðåñêàêèâàòü” îò îäíîé ÷àñòèê äðóãîé, áåðÿ òî òóò, òî òàì ïîëåçíûå “ëàêîìûå êóñî÷êè”. Åñëè æå âû ñòîëêíåòåñü ñòðóäíîé çàäà÷åé, òî ïîïðîáóéòå ñïåðâà çàãëÿíóòü â îãëàâëåíèå – íåò ëè â êíèãåðåøåíèÿ èìåííî âàøåé ïðîáëåìû.

    НА К

    ОМ

    ПАКТ

    ДИСКЕ

  • Предисловие 29

    Как меня найтиÕîòåëîñü áû, ÷òîáû âû êîíòàêòèðîâàëè ñ èçäàòåëåì è ëè÷íî ìíîþ. Ïîñëå ïðî÷òå-

    íèÿ íàñòîÿùåé êíèãè çàãëÿíèòå, ïîæàëóéñòà, íà Web-óçåë èçäàòåëüñòâà è îñòàâüòåñâîè êîììåíòàðèè. Äàâàÿ ñâîþ îöåíêó, áóäüòå ÷åñòíûìè. È åñëè âû ñ÷èòàåòå, ÷òî âîïðåäåëåííîé ãëàâå íåäîñòàòî÷íî èíôîðìàöèè – äàéòå ìíå çíàòü. Êîíå÷íî, ìíå áûõîòåëîñü, ÷òîáû ïðèõîäèëè òàêèå îòçûâû, êàê “Ýòî ëó÷øàÿ èç ïðî÷èòàííûõ ìíîþêíèã” èëè “Áëàãîäàðÿ ýòîé êíèãå ÿ ïîëó÷èë ïîâûøåíèå è òåïåðü èìåþ 105 000 äîëëà-ðîâ â ãîä”.

    Îò òåõ, êòî ÷èòàë ìîè êíèãè, ÿ ïîëó÷àþ êàæäûé äåíü ïî ýëåêòðîííîé ïî÷òåíå ìåíüøå äåñÿòè âîïðîñîâ. Áëàãîäàðþ çà ñîòðóäíè÷åñòâî. Ê ñîæàëåíèþ, ó ìåíÿ ïðî-ñòî íåò âðåìåíè îòâå÷àòü íà íèõ.  ïðèëîæåíèè À ïðèâåäåí ïîëíûé ñïèñîê èñòî÷íè-êîâ, êîòîðûå ïîìîãóò âàì â ðåøåíèè òîé èëè èíîé ïðîáëåìû.

    Êðîìå òîãî, ïðèãëàøàþ âàñ íà ñâîé Web-óçåë (http://www.j-walk.com/ss/),ãäå ñîáðàíî äîâîëüíî ìíîãî ìàòåðèàëà, îòíîñÿùåãîñÿ ê Excel.

    Ждем ваших отзывов!Âû, ÷èòàòåëü ýòîé êíèãè, è åñòü ãëàâíûé åå êðèòèê è êîììåíòàòîð. Ìû öåíèì

    âàøå ìíåíèå è õîòèì çíàòü, ÷òî áûëî ñäåëàíî íàìè ïðàâèëüíî, ÷òî ìîæíî áûëî ñäå-ëàòü ëó÷øå è ÷òî åùå âû õîòåëè áû óâèäåòü èçäàííûì íàìè. Íàì èíòåðåñíî óñëûøàòüè ëþáûå äðóãèå çàìå÷àíèÿ, êîòîðûå âàì õîòåëîñü áû âûñêàçàòü â íàø àäðåñ.

    Ìû æäåì âàøèõ êîììåíòàðèåâ è íàäååìñÿ íà íèõ. Âû ìîæåòå ïðèñëàòü íàìáóìàæíîå èëè ýëåêòðîííîå ïèñüìî ëèáî ïðîñòî ïîñåòèòü íàø Web-ñåðâåð è îñòàâèòüñâîè çàìå÷àíèÿ òàì. Îäíèì ñëîâîì, ëþáûì óäîáíûì äëÿ âàñ ñïîñîáîì äàéòå íàìçíàòü, íðàâèòñÿ âàì ýòà êíèãà èëè íåò, à òàêæå âûñêàæèòå ñâîå ìíåíèå î òîì, êàêñäåëàòü íàøè êíèãè áîëåå èíòåðåñíûìè äëÿ âàñ.

    Ïîñûëàÿ ïèñüìî èëè ñîîáùåíèå, íå çàáóäüòå óêàçàòü íàçâàíèå êíèãè è åå àâòîðîâ,à òàêæå âàø îáðàòíûé àäðåñ. Ìû âíèìàòåëüíî îçíàêîìèìñÿ ñ âàøèì ìíåíèåì è îáÿ-çàòåëüíî ó÷òåì åãî ïðè îòáîðå è ïîäãîòîâêå ê èçäàíèþ ïîñëåäóþùèõ êíèã. Íàøèêîîðäèíàòû:

    E-mail: [email protected]

    WWW: http://www.dialektika.com

    Àäðåñà äëÿ ïèñåì:

    èç Ðîññèè: 115419, Ìîñêâà, à/ÿ 783èç Óêðàèíû: 03150, Êèåâ, à/ÿ 152

  • БлагодарностиÂî-ïåðâûõ, áëàãîäàðþ âñåõ ëþäåé âî âñåì ìèðå, êîòîðûå ïîêóïàëè ïðåäûäóùèå

    èçäàíèÿ ýòîé êíèãè. Ìåíÿ ïðîäîëæàþò èçóìëÿòü è âäîõíîâëÿòü òå ïîëîæèòåëüíûåîòçûâû, êîòîðûå ÿ åæåäíåâíî ïîëó÷àþ îò ÷èòàòåëåé ïðåäûäóùèõ èçäàíèé.

    Íåêîòîðûå èäåè, îïèñàííûå â êíèãå, ïðèíàäëåæàò ó÷àñòíèêàì ðÿäà ãðóïï íîâî-ñòåé, ïîñâÿùåííûõ Excel. Áëàãîäàðþ âñåõ, êòî ÷àñòî çàõîäèò íà ýòè ôîðóìû. Âàøèâîïðîñû âî ìíîãîì îïðåäåëèëè ïðàêòè÷åñêóþ ÷àñòü íàñòîÿùåé êíèãè.

    Äàííîé êíèãè íå áûëî áû â âàøèõ ðóêàõ, åñëè áû íå òàêèå òàëàíòëèâûå ëþäè, êàêÑüþçåí Êðèñòîôåðñåí (Susan Christophersen), ðåäàêòîð ìîåãî ïðîåêòà. Îñîáàÿ áëàãî-äàðíîñòü Áèëëó Ìýíâèëëó (Bill Manville), ìîåìó òåõíè÷åñêîìó ðåäàêòîðó. Áèëë ÷àñòîñîòðóäíè÷àåò ñî ìíîé, îí ïðåäëîæèë íåìàëî ïðåêðàñíûõ èäåé è íåîäíîêðàòíî íàïðà-âèë íà ïðàâèëüíûé ïóòü.

    Äæîí ÓîêåíáàõËà-Äæîëëà, Êàëèôîðíèÿ

  • ЧастьЧасть I

    Введение в Excel

     ýòîé ÷àñòè...

    Ãëàâà 1. Excel 2003: èñòîðèÿ ïðîãðàììû

    Ãëàâà 2. Âêðàòöå îá Excel

    Ãëàâà 3. Îñîáåííîñòè èñïîëüçîâàíèÿ ôîðìóë

    Ãëàâà 4. Ôàéëû Excel

  • Глава 1

    Excel 2003:исория программы ÝÒÎÉ ÃËÀÂÅ...

    ×òîáû ïîëíîñòüþ îöåíèòü òå âîçìîæíîñòè ðàçðàáîòêè, êîòîðûå ïðåäëîæåíûâ Excel 2003, ñëåäóåò çíàòü î ïðîèñõîæäåíèè ýòîãî ïðîãðàììíîãî ïðîäóêòà è î òîì,êàê îí âïèñûâàåòñÿ â îáùóþ ñòðàòåãèþ ðàçðàáîòêè ïðîãðàììíîãî îáåñïå÷åíèÿ êîì-ïàíèè Microsoft.

    ♦ Êðàòêàÿ èñòîðèÿ ïðîöåññîðîâ ýëåêòðîííûõ òàáëèö.♦ Ýëåêòðîííûå òàáëèöû ñåãîäíÿ.♦ Ïî÷åìó Excel ïðåêðàñíî ïîäõîäèò äëÿ ðàçðàáîò÷èêîâ.

    Êîíå÷íî, åñëè ïîñëåäíèå äåñÿòü ëåò âû ðàáîòàåòå ñ ïåðñîíàëüíûìè êîìïüþòåðàìèè ýëåêòðîííûìè òàáëèöàìè, òî äëÿ âàñ ýòà èíôîðìàöèÿ ìîæåò ïîêàçàòüñÿ óñòàðåâøåé.Íî åñëè âû ñîáèðàòåëü ïóñòÿêîâ, òî ýòà ãëàâà – Êëîíäàéê. Èçó÷èâ åå, âû áóäåòå“çâåçäîé” íà áëèæàéøåé âå÷åðèíêå êîìïüþòåðíûõ “ãóðó”, êîòîðóþ óäîñòîèòå ñâîèìïîñåùåíèåì.

    Краткая история процессоровэлектронных таблиц

    Ìíîãèå ñêëîííû âîñïðèíèìàòü ýëåêòðîííûå òàáëèöû êàê íå÷òî ñàìî ñîáîé ðàçó-ìåþùååñÿ. Íà ñàìîì æå äåëå, õîòÿ ýòî, âîçìîæíî, è òðóäíî îñîçíàòü, áûëè âðåìåíà,êîãäà òàêèõ òàáëèö íå áûëî. Òîãäà âìåñòî íèõ ëþäè èñïîëüçîâàëè ãðîìîçäêèå ÝÂÌèëè êàëüêóëÿòîðû è òðàòèëè ÷àñû íà ðàáîòó, êîòîðóþ ñåé÷àñ âûïîëíÿþò çà ìèíóòó.

    Все начиналось с VisiCalcÏåðâûé â ìèðå ïðîöåññîð ýëåêòðîííûõ òàáëèö – ïðîãðàììà VisiCalc – áûë ñîç-

    äàí Äýíîì Áðèêëèíîì (Dan Bricklin) è Áîáîì Ôðýíêñòîíîì (Bob Frankston) â1978 ãîäó, êîãäà â îôèñàõ åùå äàæå íå ñëûõèâàëè î ïåðñîíàëüíûõ êîìïüþòåðàõ.VisiCalc áûëà íàïèñàíà äëÿ êîìïüþòåðà Apple II – èíòåðåñíîãî ìàëåíüêîãî êîìïüþ-òåðà, èãðóøêè ïî íûíåøíèì ìåðêàì. (Ïðàâäà, â ñâîå âðåìÿ Apple II äíÿìè íàïðîëåòäåðæàë ìåíÿ â ñîñòîÿíèè ãèïíîçà.) VisiCalc, â öåëîì, ñòàëà îñíîâîé áóäóùèõ ýëåê-òðîííûõ òàáëèö, à åå ñòðóêòóðó ñòðîê è ñòîëáöîâ, à òàêæå ñèíòàêñèñ ôîðìóë äî ñèõïîð ìîæíî âèäåòü â ñîâðåìåííûõ ýëåêòðîííûõ òàáëèöàõ. VisiCalc áûñòðî ñòàëà âîñ-òðåáîâàííîé, è ìíîãèå äàëüíîâèäíûå êîìïàíèè ïðèîáðåòàëè Apple II ëèøü äëÿ òîãî,÷òîáû ñîçäàâàòü ñâîè áþäæåòíûå ïëàíû ñ åå ïîìîùüþ. Ñî âðåìåíåì ïðîãðàììåVisiCalc ÷àñòî ñòàâèëè â çàñëóãó, ÷òî èìåííî îíà îáåñïå÷èëà êîìïüþòåðàì Apple IIáîëüøóþ ÷àñòü èõ ïåðâîíà÷àëüíîãî óñïåõà.

  • 34 Часть I. Введение в Excel

    Òåì âðåìåíåì ïîÿâèëñÿ íîâûé âèä ïåðñîíàëüíûõ êîìïüþòåðîâ; â ýòèõ ÏÊ èñïîëü-çîâàëàñü îïåðàöèîííàÿ ñèñòåìà CP/M. Êîìïàíèÿ Sorcim ðàçðàáîòàëà SuperCalc –ïðîöåññîð ýëåêòðîííûõ òàáëèö, êîòîðûé òàêæå ïðèâëåê ìíîãèõ ïîñëåäîâàòåëåé.

    È êîãäà â 1981 ãîäó íà ñöåíå ïîÿâèëñÿ êîìïüþòåð IBM PC, êîòîðûé âûâåë ïåðñî-íàëüíûå êîìïüþòåðû íà ìàññîâûé ïîòðåáèòåëüñêèé ðûíîê, òî êîìïàíèÿ VisiCorpíå ñòàëà ìåäëèòü ñ ïåðåíîñîì VisiCalc â ýòó íîâóþ àïïàðàòíóþ ñðåäó. Âñêîðå çà íåéïîñëåäîâàëà è Sorcim ñ âåðñèåé SuperCalc, ñïåöèàëüíî ñîçäàííîé äëÿ ÏÊ.

    Ïî íûíåøíèì ñòàíäàðòàì è VisiCalc, è SuperCalc – ÷ðåçâû÷àéíî íåçðåëûå ïðî-ãðàììû. Íàïðèìåð, òåêñò, ââîäèìûé â ÿ÷åéêó, íå äîëæåí áûë âûõîäèòü çà åå ïðåäåëû,ò.å. äëèííûé çàãîëîâîê ïðèõîäèëîñü ââîäèòü â íåñêîëüêî ÿ÷ååê. Íî êàê áû òàì íèáûëî, âîçìîæíîñòü àâòîìàòèçèðîâàòü áþäæåòíóþ ðóòèíó áûëà ïî äîñòîèíñòâó îöåíå-íà – áóìàæíûì êàññîâûì êíèãàì òûñÿ÷è áóõãàëòåðîâ ïðåäïî÷ëè ãèáêèå äèñêè.

    Lotus 16263Îöåíèâ óñïåõ VisiCalc, íåáîëüøàÿ ãðóïïà êîìïüþòåðíûõ ãåíèåâ èç êîìïàíèè,

    òîëüêî ÷òî îñíîâàííîé â Êåìáðèäæå, øòàò Ìàññà÷óñåòñ, ðåøèëà óñîâåðøåíñòâîâàòüêîíöåïöèþ ýëåêòðîííûõ òàáëèö. Ðóêîâîäèìàÿ Ìèò÷åì Êýïîðîì (Mitch Kapor)è Äæîíàòàíîì Ñàêñîì (Jonathan Sachs), ýòà îðãàíèçàöèÿ ðàçðàáîòàëà íîâûé ïðîäóêòè ïðîâåëà ïåðâóþ â êîìïüþòåðíîé îòðàñëè çàêîí÷åííóþ ìàðêåòèíã�