ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’ Π½Π°ΡΡ‚оящСй Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто употрСбляСмыС элСмСнты проСктирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для MS Excel. Π’ Ρ‚ΠΎΠΌ числС: ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ (ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ), ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹. Π’ ΠΊΠΎΠ΄Π΅ VBA ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ описания Ρ‚ΠΈΠΏΠΎΠ²), ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ условныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ†ΠΈΠΊΠ»ΠΎΠ². Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π²ΠΎ Π²Π½Π΅ΡˆΠ½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π°.

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» студСнт Π’ΠœΠ¦Π”Πž Π³Ρ€.: Π·-472−27Π± ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ 61 000 ΠœΠ°Ρ€ΠΊΠ΅Π»ΠΎΠ²Π° А.А.

Вомский государствСнный унивСрситСт систСм управлСния ΠΈ Ρ€Π°Π΄ΠΈΠΎΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½ΠΈΠΊΠΈ (Π’Π£Π‘Π£Π ) ΠšΠ°Ρ„Π΅Π΄Ρ€Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π³. ΠΠ±Π°ΠΊΠ°Π½.

2005 Π³.

ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π±Π°Π·Ρƒ «Π’Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ справочник», ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ свСдСния: ЀИО, адрСс, Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½. ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Π±Π°Π·Ρ‹ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Excel.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ трСбованиям:

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ языка программирования VBA для MS Excel.

ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ Excel, содСрТащСй ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½ΡƒΡŽ заставку ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ элСмСнт запуска ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹:

Π²Π²ΠΎΠ΄ исходных Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ‹;

ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… (исправлСниС, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅);

Ρ€Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (поиск, сортировка, просмотр);

Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ статистики:

ΠΎΠ±Ρ‰Π΅Π΅ количСство Π°Π±ΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½ΠΎΠΉ сСти;

количСство Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡƒΠ»ΠΈΡ†Π΅;

количСство Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π΄ΠΎΠΌΠ΅.

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ запуска ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ.

На ΡΠΊΡ€Π°Π½Π΅ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ панСль инструмСнтов, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ.

Π”Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅.

ΠŸΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ числовых Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°.

ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹: Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ Π·Π½Π°Π½ΠΈΠΉ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠΈ курса «ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°», Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Π½Π°Π²Ρ‹ΠΊΠΎΠ² создания Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для MS Excel.

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ возмоТностям MS Excel, входящСго Π² ΡΠΎΡΡ‚Π°Π² Microsoft Office ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ доступСн ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ язык программирования Visual Basic for Applications (VBA), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΠΆΠΈΠ²ΠΈΡ‚ΡŒ страницы элСктронных Ρ‚Π°Π±Π»ΠΈΡ†, ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ² ΠΈΡ… Π² ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ Windows — ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰Π΅Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. ΠŸΡ€ΠΈ этом, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ программируСтся Π·Π°Ρ€Π°Π½Π΅Π΅, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сниТаСт Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ возникновСния ошибки ΠΊΠ°ΠΊ Π½Π° ΡΡ‚Π°ΠΏΠ΅ Π²Π²ΠΎΠ΄Π° исходных Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΈ ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

Π’ Π½Π°ΡΡ‚оящСй Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто употрСбляСмыС элСмСнты проСктирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для MS Excel. Π’ Ρ‚ΠΎΠΌ числС: ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ (ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ), ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹. Π’ ΠΊΠΎΠ΄Π΅ VBA ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ описания Ρ‚ΠΈΠΏΠΎΠ²), ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ условныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ†ΠΈΠΊΠ»ΠΎΠ². Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π²ΠΎ Π²Π½Π΅ΡˆΠ½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ доступ).

Π”ΠΈΠ°Π»ΠΎΠ³ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ InputBox ΠΈ MsgBox, Π° Ρ‚Π°ΠΊΠΆΠ΅ ряда ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ созданных Ρ„ΠΎΡ€ΠΌ. Π’ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ элСмСнты управлСния Ρ‚ΠΈΠΏΠ°: надпись, ΠΏΠΎΠ»Π΅, Ρ€Π°ΠΌΠΊΠ°, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠ½ΠΎΠΏΠΊΠ°.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° VBA построСно Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ событийной ΠΌΠΎΠ΄Π΅Π»ΠΈ, Ρ‚ΠΎ ΠΈ Π² Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий являСтся основой для выполнСния Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… дСйствий, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

MS Excel ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ³Π°Ρ‚ΡƒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ модСль. ΠŸΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ использовались ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ²: Application, Workbook, Worksheet, Range, CommandBar, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Workbooks ΠΈ Worksheets.

Π Π°Π±ΠΎΡ‚Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Π² ΡΡ€Π΅Π΄Π΅ Microsoft Excel 2002.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ комплСкса.

Бостав ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ комплСкса.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ комплСкс «Π’Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ справочник» состоит ΠΈΠ· Π΄Π²ΡƒΡ… Ρ„Π°ΠΉΠ»ΠΎΠ², располагаСмых Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ «c:tmp»:

" Π’Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ справочник. xls «- основной Ρ„Π°ΠΉΠ», содСрТащий Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ просмотра Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π΅ΠΉ.

" phones. db «- Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкстовый Ρ„Π°ΠΉΠ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для хранСния Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ осущСствляСтся ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Microsoft Excel, входящСго Π² ΡΠΎΡΡ‚Π°Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π° Microsoft Office, поэтому для Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ском ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

ΠžΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌΠΎΠ΅ Excel-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ²ΠΎΠ΅ΠΌ составС содСрТит:

Π Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ Workbook «Π’Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ справочник» + ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ VBA, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· Π΄Π²ΡƒΡ… листов:

Worksheet Лист1 (Π‘Ρ‚Π°Ρ€Ρ‚) + ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ VBA.

Worksheet Лист2 (Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…) + ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ VBA.

ΠŸΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌ + ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ VBA:

addRowForm — для Ρ€Π΅ΠΆΠΈΠΌΠ° добавлСния Π½ΠΎΠ²ΠΎΠΉ записи.

delRowForm — для Ρ€Π΅ΠΆΠΈΠΌΠ° удалСния записи.

editRowForm — для Ρ€Π΅ΠΆΠΈΠΌΠ° рСдактирования записи.

reportForm — для Ρ€Π΅ΠΆΠΈΠΌΠ° формирования статистики.

sortForm — для Ρ€Π΅ΠΆΠΈΠΌΠ° сортировки Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠœΠΎΠ΄ΡƒΠ»ΡŒ Module1, содСрТащий описаниС Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Record для ΠΎΠ΄Π½ΠΎΠΉ записи ΠΎΠ± Π°Π±ΠΎΠ½Π΅Π½Ρ‚Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ (чтСния/записи) с Ρ‚Π°ΠΊΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ.

ПанСль инструмСнтов «Phones», ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· Π΄Π΅Π²ΡΡ‚ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ:

Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…;

запись Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…;

добавлСниС записи;

ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° записи;

ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ записи;

поиск;

сортировка;

ΠΎΡ‚Ρ‡Π΅Ρ‚ (статистика);

Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² MS Excel ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ:

«Π’Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ справочник. xls».

Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ лист с Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½ΠΎΠΉ надписью ΠΈ Π΄Π²ΡƒΠΌΡ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ. Для отобраТСния листа с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠΠ°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ».

.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, рСкламная страница исчСзнСт, Π° Π²ΠΌΠ΅ΡΡ‚ΠΎ Π½Π΅Π΅ появится основной лист, содСрТащий ΡˆΠ°ΠΏΠΊΡƒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠ°Π½Π΅Π»ΡŒ инструмСнтов для Ρ€Π°Π±ΠΎΡ‚Ρ‹.

.

Π§Ρ‚Π΅Π½ΠΈΠ΅ / запись Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ вся информация хранится Π²ΠΎ Π²Π½Π΅ΡˆΠ½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π΅, Ρ‚ΠΎ Π΄Π»Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π»ΠΈΡΡ‚ Excel Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…». ΠŸΡ€ΠΈ этом ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π½Π° Π»ΠΈΡΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈΠ· Π²Π½Π΅ΡˆΠ½Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° «phones.db».

.

Для сохранСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…» Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов. Вся тСкущая информация, отобраТаСмая Π½Π° Π»ΠΈΡΡ‚Π΅, Π±ΡƒΠ΄Π΅Ρ‚ записана Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΠΉ Ρ„Π°ΠΉΠ» «phones.db».

Π Π΅ΠΆΠΈΠΌΡ‹ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π’ Ρ†Π΅Π»ΡΡ… бСзопасности, листы ΠΊΠ½ΠΈΠ³ΠΈ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹ ΠΎΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ способами. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для добавлСния, измСнСния ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ прСдусмотрСны ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов.

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° Π»ΡŽΠ±ΡƒΡŽ ΠΈΠ· Π½ΠΈΡ…, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ поля Π½ΡƒΠΆΠ½ΠΎ занСсти Π½ΠΎΠ²ΡƒΡŽ (ΠΎΡ‚ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ) ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ подтвСрТдСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

.

Если ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ° удалСния записи Π±Ρ‹Π»ΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ нСсколько строк Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ Π²ΠΌΠ΅ΡΡ‚ΠΎ отобраТСния Ρ„ΠΎΡ€ΠΌΡ‹ с ΡƒΠ΄Π°Π»ΡΠ΅ΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ просто ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Ρ… записСй.

.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ добавлСния/ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ записи ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ для заполнСния поля: Ѐамилия, Имя, ΠžΡ‚Ρ‡Π΅ΡΡ‚Π²ΠΎ, Π£Π»ΠΈΡ†Π°, Π”ΠΎΠΌ, Π’Π΅Π»Π΅Ρ„ΠΎΠ½. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΏΠΎΠ»Π΅ Π’Π΅Π»Π΅Ρ„ΠΎΠ½ допускаСтся Π²Π²ΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ числовых Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 10 Ρ†ΠΈΡ„Ρ€).

Поиск ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Для поиска Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠΠ°ΠΉΡ‚ΠΈ» Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов. Π‘ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½ стандартный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ поиска ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ Π»ΠΈΡΡ‚Ρƒ MS Excel.

.

Π Π΅ΠΆΠΈΠΌΡ‹ сортировки.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ прСдусмотрСно Ρ‚Ρ€ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° сортировки Π΄Π°Π½Π½Ρ‹Ρ…:

По Π°Π±ΠΎΠ½Π΅Π½Ρ‚Ρƒ (фамилия + имя + отчСство);

По Π°Π΄Ρ€Π΅ΡΡƒ (ΡƒΠ»ΠΈΡ†Π° + Π΄ΠΎΠΌ + ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Π°);

По Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρƒ.

Для выполнСния сортировки достаточно Π½Π°ΠΆΠ°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ².

.

Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ статистики.

Богласно заданию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° позволяСт Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ статистику:

ΠžΠ±Ρ‰Π΅Π΅ количСство Π°Π±ΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½ΠΎΠΉ сСти;

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡƒΠ»ΠΈΡ†Π΅;

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π΄ΠΎΠΌΠ΅.

.

Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌ «ΠžΡ‚Ρ‡Π΅Ρ‚», Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΈ, ΠΏΡ€ΠΈ нСобходимости, Π·Π°Π΄Π°ΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π΅Π³ΠΎ формирования. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π°Π±ΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ посчитано ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅.

.

.

Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ.

Для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π’Ρ‹Ρ…ΠΎΠ΄» Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов. Лист с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ скрыт, Π° ΠΏΠΎΡΠ²ΠΈΡ‚ся лист с Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½ΠΎΠΉ заставкой. Для подтвСрТдСния Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π’Ρ‹Ρ…ΠΎΠ΄». Если «Π’Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ справочник» Π±Ρ‹Π» СдинствСнной ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΎΠΉ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ MS Excel Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎ, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС — закроСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ½ΠΈΠ³Π° с ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π²ΠΎ Π²Π½Π΅ΡˆΠ½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π΅, ΠΈΠ½Π°Ρ‡Π΅ послСдниС ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ утСряны.

Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

ВсС стандартныС ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ / Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ «Π’Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ справочник», Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠΊΠ½Π°ΠΌΠΈ. Π’ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ стандартного Π½Π°Π±ΠΎΡ€Π° ΠΏΠ°Π½Π΅Π»Π΅ΠΉ инструмСнтов Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ся ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΏΠ°Π½Π΅Π»Π΅ΠΉ инструмСнтов ΠΏΠΎΠΊΠ° описываСмая ΠΊΠ½ΠΈΠ³Π° остаСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π°.

ΠŸΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ любой нСстандартной ситуации слСдуСт Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ «Π’Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ справочник» ΠΈ Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ Ρ‡Π΅Ρ€Π΅Π· мСню «Π’ΠΈΠ΄».

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

Π’ Ρ…ΠΎΠ΄Π΅ выполнСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Ρ‹ знания ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² MS Excel ΠΈ ΠΎΡΠ½ΠΎΠ²Π°ΠΌ программирования Π½Π° VBA, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Ρ‹ практичСскиС Π½Π°Π²Ρ‹ΠΊΠΈ создания Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для MS Excel.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «Π’Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ справочник», Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π΅ основныС Π·Π°Π΄Π°Ρ‡ΠΈ, стоящиС ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ‚Π°ΠΊΠΎΠ³ΠΎ уровня ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ.

РазумССтся, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΌ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ для развития ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ поиска ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ рСализация ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² сортировки (Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ эффСктивным Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ).

ΠŸΠΎΡ‚Π°Ρ…ΠΎΠ²Π° И. Π’. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°. ΠžΡ„ΠΈΡΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ пособиС. — Π’омск: Вомский мСТвузовский Ρ†Π΅Π½Ρ‚Ρ€ дистанционного образования, 2004. — 181с.

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΎΠ΅ руководство ΠΏΠΎ MS Excel ΠΈ Visual Basic for Applications: Microsoft Corp., 2001.

Π”Π΅ΠΌΠΈΠ΄ΠΎΠ²Π° Π›.А., ΠŸΡ‹Π»ΡŒΠΊΠΈΠ½ А. Н. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡ€Π΅Π΄Π΅ Visual Basic for Applications: ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ — М.: Горячая линия — Π’Π΅Π»Π΅ΠΊΠΎΠΌ, 2004. — 175с.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ VBA.

Рабочая ΠΊΠ½ΠΈΠ³Π°.

Dim oldBars (20) As Long, kol As Integer.

Private Sub Workbook_Activate ().

kol = 0.

Dim bar As CommandBar.

For Each bar In Application.CommandBars.

If bar. Visible And Not (bar.Protection = msoBarNoChangeVisible) _.

And (bar.Type = msoBarTypeNormal) And Not (bar.Name = «Phones ») Then.

kol = kol + 1.

oldBars (kol) = bar.index.

End If.

Next bar.

For i = 1 To kol.

Application. CommandBars (oldBars (i)).Visible = False.

Next.

If ThisWorkbook.ActiveSheet.Name = «Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… «Then.

showTools.

End If.

End Sub.

Private Sub Workbook_Deactivate ().

Dim i As Integer.

For i = kol To 1 Step -1.

Application. CommandBars (oldBars (i)).Visible = True.

Next.

hideTools.

End Sub.

Private Sub Workbook_Open ().

ThisWorkbook. Worksheets («Π‘Ρ‚Π°Ρ€Ρ‚ »).Visible = True «ΡΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ стартовый лист.

ThisWorkbook. Worksheets («Π‘Ρ‚Π°Ρ€Ρ‚ »).Activate «ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ лист с Π‘Π”.

ThisWorkbook. Worksheets («Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… »).Visible = False «ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….

End Sub.

Лист 1 (Π‘Ρ‚Π°Ρ€Ρ‚).

Private Sub ExitButton_Click ().

ExitProject.

End Sub.

Private Sub StartButton_Click ().

«Commandbars.

ThisWorkbook. Worksheets («Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… »).Visible = True «ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….

ThisWorkbook. Worksheets («Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… »).Activate «ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ лист с Π‘Π”.

ThisWorkbook. Worksheets («Π‘Ρ‚Π°Ρ€Ρ‚ »).Visible = False «ΡΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ стартовый лист.

End Sub.

Лист2 (Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…).

Private Sub Worksheet_Activate ().

showTools.

End Sub.

Private Sub Worksheet_Deactivate ().

hideTools.

End Sub.

Sub addRecord ().

If (ActiveCell.row < 5) Or (Len (ActiveCell.EntireRow.Cells (, 1).Value) = 0) Then.

Range («A5 »).Activate.

End If.

ThisWorkbook.ActiveSheet.Unprotect.

addRowForm. Show vbModal.

ThisWorkbook.ActiveSheet.Protect.

End Sub.

Sub delRecord ().

If (ActiveCell.row < 5) Or (Len (ActiveCell.EntireRow.Cells (, 1).Value) = 0) Then.

Exit Sub.

End If.

ThisWorkbook.ActiveSheet.Unprotect.

If Selection.Rows.count = 1 Then.

delRowForm. Show vbModal.

Else.

Dim response.

response = MsgBox («ΠžΡ‚ΠΌΠ΅Ρ‡Π΅Π½ΠΎ записСй: «+ Str (Selection.Rows.count) + Chr (13) + «Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС? », vbYesNoCancel, «Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! »).

If response = vbYes Then.

Selection.EntireRow.Delete.

End If.

End If.

ThisWorkbook.ActiveSheet.Protect.

End Sub.

Sub editRecord ().

If (ActiveCell.row < 5) Or (Len (ActiveCell.EntireRow.Cells (, 1).Value) = 0) Then.

Exit Sub.

End If.

ThisWorkbook.ActiveSheet.Unprotect.

editRowForm. Show vbModal.

ThisWorkbook.ActiveSheet.Protect.

End Sub.

Sub sort ().

ThisWorkbook.ActiveSheet.Unprotect.

sortForm. Show vbModal.

ThisWorkbook.ActiveSheet.Protect.

End Sub.

Sub report ().

Dim oldCell As Range.

ThisWorkbook.ActiveSheet.Unprotect.

Set oldCell = ActiveCell.

reportForm. Show vbModal.

oldCell.Activate.

ThisWorkbook.ActiveSheet.Protect.

End Sub.

addRowForm.

Private Sub UserForm_Activate ().

FamBox. Value = ««.

ImBox. Value = ««.

OtBox. Value = ««.

StreetBox. Value = ««.

NoBox. Value = ««.

FlatBox. Value = ««.

PhoneBox. Value = ««.

FamBox.SetFocus.

End Sub.

Private Sub CancelButton_Click ().

addRowForm.Hide.

End Sub.

Private Sub OKButton_Click ().

«ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Dim box As Variant, boxes As Variant.

boxes = Array (FamBox, ImBox, OtBox, StreetBox, NoBox, PhoneBox).

For Each box In boxes.

If Len (Trim (box.Value)) = 0 Then.

box.SetFocus.

Exit Sub.

End If.

Next box.

If Len (Trim (PhoneBox.Value)) > 10 Then.

MsgBox «Π‘ΠΎΠ»Π΅Π΅ 10 Ρ†ΠΈΡ„Ρ€ Π² Π½ΠΎΠΌΠ΅Ρ€Π΅ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° «.

PhoneBox.SetFocus.

Else.

«Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ записи ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹.

Dim myRecord As Record.

myRecord. Fam = FamBox.Value.

myRecord. Im = ImBox.Value.

myRecord. Ot = OtBox.Value.

myRecord. street = StreetBox.Value.

myRecord. no = NoBox.Value.

myRecord. Flat = FlatBox.Value.

myRecord. Phone = Val (PhoneBox.Value).

«Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ строки Π½Π° Π»ΠΈΡΡ‚ ΠΈ Π΅Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

ActiveCell.EntireRow.Insert.

putRecord ActiveCell. EntireRow, myRecord.

«ΡΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹.

addRowForm.Hide.

End If.

End Sub.

Private Sub PhoneBox_KeyPress (ByVal KeyAscii As MSForms. ReturnInteger).

If (KeyAscii Asc («9 »)) Then.

MsgBox «Π”опускаСтся Π²Π²ΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€! «.

KeyAscii. Value = 0.

End If.

End Sub.

delRowForm.

Private Sub CancelButton_Click ().

delRowForm.Hide.

End Sub.

Private Sub OKButton_Click ().

«ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки.

ActiveCell.EntireRow.Delete.

«ΡΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹.

delRowForm.Hide.

End Sub.

Private Sub UserForm_Activate ().

Dim myRecord As Record.

myRecord = getRecord (ActiveCell.EntireRow).

FamBox. Value = myRecord.Fam.

ImBox. Value = myRecord.Im.

OtBox. Value = myRecord.Ot.

StreetBox. Value = myRecord.street.

NoBox. Value = myRecord.no.

FlatBox. Value = myRecord.Flat.

PhoneBox. Value = myRecord.Phone.

OKButton.SetFocus.

End Sub.

editRowForm.

Private Sub UserForm_Activate ().

Dim myRecord As Record.

myRecord = getRecord (ActiveCell.EntireRow).

FamBox. Value = myRecord.Fam.

ImBox. Value = myRecord.Im.

OtBox. Value = myRecord.Ot.

StreetBox. Value = myRecord.street.

NoBox. Value = myRecord.no.

FlatBox. Value = myRecord.Flat.

PhoneBox. Value = myRecord.Phone.

FamBox.SetFocus.

End Sub.

Private Sub CancelButton_Click ().

editRowForm.Hide.

End Sub.

Private Sub OKButton_Click ().

«ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Dim box As Variant, boxes As Variant.

boxes = Array (FamBox, ImBox, OtBox, StreetBox, NoBox, PhoneBox).

For Each box In boxes.

If Len (Trim (box.Value)) = 0 Then.

box.SetFocus.

Exit Sub.

End If.

Next box.

If Len (Trim (PhoneBox.Value)) > 10 Then.

MsgBox «Π‘ΠΎΠ»Π΅Π΅ 10 Ρ†ΠΈΡ„Ρ€ Π² Π½ΠΎΠΌΠ΅Ρ€Π΅ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° «.

PhoneBox.SetFocus.

Else.

«Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ записи ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹.

Dim myRecord As Record.

myRecord. Fam = FamBox.Value.

myRecord. Im = ImBox.Value.

myRecord. Ot = OtBox.Value.

myRecord. street = StreetBox.Value.

myRecord. no = NoBox.Value.

myRecord. Flat = FlatBox.Value.

myRecord. Phone = Val (PhoneBox.Value).

«Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ строки Π½Π° Π»ΠΈΡΡ‚ ΠΈ Π΅Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

putRecord ActiveCell. EntireRow, myRecord.

«ΡΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹.

editRowForm.Hide.

End If.

End Sub.

Private Sub PhoneBox_KeyPress (ByVal KeyAscii As MSForms. ReturnInteger).

If (KeyAscii Asc («9 »)) Then.

MsgBox «Π”опускаСтся Π²Π²ΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€! «.

KeyAscii. Value = 0.

End If.

End Sub.

reportForm.

Private Sub UserForm_Activate ().

AllOption. Value = True.

OKButton. Caption = «Π Π°ΡΡ‡Π΅Ρ‚ «.

OKButton.SetFocus.

End Sub.

Private Sub AllOption_Click ().

OKButton. Caption = «Π Π°ΡΡ‡Π΅Ρ‚ «.

End Sub.

Private Sub StreetOption_Click ().

OKButton. Caption = «ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹… «.

End Sub.

Private Sub HouseOption_Click ().

OKButton. Caption = «ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹… «.

End Sub.

Private Sub CancelButton_Click ().

reportForm.Hide.

End Sub.

Private Sub OKButton_Click ().

Dim myRecord As Record.

Dim counter As Long.

Dim street As String, no As String, title As String.

If AllOption. Value Then.

counter = count ().

MsgBox «ΠžΠ±Ρ‰Π΅Π΅ количСство Π°Π±ΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²: «+ Str (counter).

Else.

myRecord = getRecord (ActiveCell.EntireRow).

If StreetOption. Value Then.

title = «ΠžΡ‚Ρ‡Π΅Ρ‚ ΠΏΠΎ ΡƒΠ»ΠΈΡ†Π΅ «.

street = InputBox («Π—Π°Π΄Π°ΠΉΡ‚Π΅ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡƒΠ»ΠΈΡ†Ρ‹: », title, myRecord. street).

If Len (street) > 0 Then.

street = Trim (street).

counter = count (street).

MsgBox «ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² Π½Π° ΡƒΠ»ΠΈΡ†Π΅ «» + street + «»: «+ Str (counter).

End If.

Else.

title = «ΠžΡ‚Ρ‡Π΅Ρ‚ ΠΏΠΎ Π΄ΠΎΠΌΡƒ «.

street = InputBox («Π—Π°Π΄Π°ΠΉΡ‚Π΅ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡƒΠ»ΠΈΡ†Ρ‹: », title, myRecord. street).

If Len (street) > 0 Then.

street = Trim (street).

no = InputBox («Π£Π»ΠΈΡ†Π° «» + street + «» «+ Chr (10) + «Π—Π°Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ Π΄ΠΎΠΌΠ°: », title, myRecord. no).

If Len (no) > 0 Then.

no = Trim (no).

counter = count (street, no).

MsgBox «ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² Π² Π΄ΠΎΠΌΠ΅ «» + street + «» + no + «»: «+ Str (counter).

End If.

End If.

End If.

End If.

reportForm.Hide.

End Sub.

Private Function count (Optional street, Optional no) As Long.

Dim myRecord As Record.

Dim data As Range, curRow As Range.

Dim doCalc As Boolean, counter As Long.

counter = 0.

Range («A5 »).Activate.

Set data = ActiveCell.CurrentRegion.

For Each curRow In data.Rows.

myRecord = getRecord (curRow).

doCalc = False.

If IsMissing (street) Then.

«Π²ΡΠ΅ Π°Π±ΠΎΠ½Π΅Π½Ρ‚Ρ‹.

doCalc = True.

Else.

If IsMissing (no) Then.

«ΠΏΠΎ ΡƒΠ»ΠΈΡ†Π΅.

doCalc = (Trim (myRecord.street) = street).

Else.

«ΠΏΠΎ Π΄ΠΎΠΌΡƒ.

doCalc = (Trim (myRecord.street) = street) And (Trim (myRecord.no) = no).

End If.

End If.

If doCalc Then counter = counter + 1.

Next curRow.

count = counter.

End Function.

sortForm.

Private Sub UserForm_Activate ().

OKButton.SetFocus.

End Sub.

Private Sub CancelButton_Click ().

sortForm.Hide.

End Sub.

Private Sub OKButton_Click ().

Dim sht As Worksheet.

Dim rng As Range.

Set sht = ThisWorkbook.ActiveSheet.

Set rng = sht. Range (sht.Cells (5, 1), sht. Cells (65 536, 1).End (xlUp).Offset (, 7)).

If NameOption. Value Then.

«ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Π€Π˜Πž.

rng. sort Key1:=sht.Columns («A »), Order1:=xlAscending, Key2:=sht.Columns («B »), Order2:=xlAscending, Key3:=sht.Columns («C »), Order3:=xlAscending, Header:=xlNo.

Else.

If AddressOption. Value Then.

«ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Π°Π΄Ρ€Π΅ΡΡƒ.

rng. sort Key1:=sht.Columns («D »), Order1:=xlAscending, Key2:=sht.Columns («E »), Order2:=xlAscending, Key3:=sht.Columns («F »), Order3:=xlAscending, Header:=xlNo.

Else.

«ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρƒ.

rng. sort Key1:=sht.Columns («G »), Order1:=xlAscending, Header:=xlNo.

End If.

End If.

sortForm.Hide.

End Sub.

Module1.

Public Type Record.

Fam As String.

Im As String.

Ot As String.

street As String.

no As String.

Flat As String.

Phone As Long.

End Type.

Public Function dbFileName () As String.

dbFileName = ThisWorkbook. Path + «phones.db «.

End Function.

Sub ToolbarExitButton ().

If ThisWorkbook.ActiveSheet.Name = «Π‘Ρ‚Π°Ρ€Ρ‚ «Then.

ExitProject.

Else.

ThisWorkbook. Worksheets («Π‘Ρ‚Π°Ρ€Ρ‚ »).Visible = True «ΡΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ стартовый лист.

ThisWorkbook. Worksheets («Π‘Ρ‚Π°Ρ€Ρ‚ »).Activate «ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ лист с Π‘Π”.

ThisWorkbook. Worksheets («Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… »).Visible = False «ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….

End If.

End Sub.

Sub ExitProject ().

ThisWorkbook. Saved = True.

If Application.Workbooks.count = 1 Then.

Application. Quit «Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Excel.

Else.

ThisWorkbook. Close «Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

End If.

End Sub.

Sub dbRead ().

ThisWorkbook.ActiveSheet.Unprotect.

Dim myRecord As Record.

Dim data As Range, curRow As Range.

Dim row As Integer.

Range («A5 »).Activate.

Set data = ActiveCell.CurrentRegion.

data.ClearContents.

Open dbFileName For Input As #1.

row = 1.

Do While Not EOF (1).

Input #1, myRecord. Fam, myRecord. Im, myRecord. Ot, myRecord. street, myRecord. no, myRecord. Flat, myRecord.Phone.

putRecord ActiveCell. Cells (row), myRecord.

row = row + 1.

Loop.

Close #1.

ThisWorkbook.ActiveSheet.Protect.

End Sub.

Sub dbWrite ().

ThisWorkbook.ActiveSheet.Unprotect.

Dim myRecord As Record.

Dim data As Range, curRow As Range.

Range («A5 »).Activate.

Set data = ActiveCell.CurrentRegion.

Open dbFileName For Output As #1.

For Each curRow In data.Rows.

myRecord = getRecord (curRow).

Write #1, myRecord. Fam, myRecord. Im, myRecord. Ot, myRecord. street, myRecord. no, myRecord. Flat, myRecord.Phone.

Next curRow.

Close #1.

ThisWorkbook.ActiveSheet.Protect.

End Sub.

Function getRecord (row As Range) As Record.

Dim myRecord As Record.

myRecord. Fam = row. Cells (, 1).Value.

myRecord. Im = row. Cells (, 2).Value.

myRecord. Ot = row. Cells (, 3).Value.

myRecord. street = row. Cells (, 4).Value.

myRecord. no = row. Cells (, 5).Value.

myRecord. Flat = row. Cells (, 6).Value.

myRecord. Phone = row. Cells (, 7).Value.

getRecord = myRecord.

End Function.

Sub putRecord (row As Range, myRecord As Record).

row. Cells (, 1).Value = myRecord.Fam.

row. Cells (, 2).Value = myRecord.Im.

row. Cells (, 3).Value = myRecord.Ot.

row. Cells (, 4).Value = myRecord.street.

row. Cells (, 5).Value = myRecord.no.

row. Cells (, 6).Value = myRecord.Flat.

row. Cells (, 7).Value = myRecord.Phone.

End Sub.

Sub showTools ().

Application. CommandBars («Phones »).Enabled = True.

Application. CommandBars («Phones »).Visible = True.

End Sub.

Sub hideTools ().

Application. CommandBars («Phones »).Visible = False.

Application. CommandBars («Phones »).Enabled = False.

End Sub.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ