Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠžΡ„ΠΈΡΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 26

Автор Π˜Ρ€ΠΈΠ½Π° Π€Ρ€ΠΈΠ·Π΅Π½

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 53. Ѐункция ddb() ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡΡ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², послСдний ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся коэффициСнтом Π°ΠΌΠΎΡ€Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. НСобходимо Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ тСкстовоС ΠΏΠΎΠ»Π΅, ΠΊΡƒΠ΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ смог Π±Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ коэффициСнт, Π° Π² ΠΊΠΎΠ΄Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡Π΅ΡΡ‚ΡŒ присутствиС этого коэффициСнта.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ошибок. ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ создания обусловлСна ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ: Ссли вСсь ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ эксплуатации составляСт, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, 120 мСсяцСв, Ρ‚ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π°ΠΌΠΎΡ€Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ Π·Π° 121 ΠΈ Ρ‚. Π΄. мСсяцы. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΌ Π²Π²ΠΎΠ΄Π΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° расчСта Π°ΠΌΠΎΡ€Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΎΠΊΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° с сообщСниСм ΠΎΠ± ошибкС ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ осущСствлСн Π½ΠΎΠ²Ρ‹ΠΉ Π²Π²ΠΎΠ΄ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°.

Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅: Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ осущСствляСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Exit Sub.

Π“Π»Π°Π²Π° 8

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ срСдстами VBA

8.1. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Π»Π°Π΄ΠΊΠΈΡ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π² Excel

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ коллСкция chartobjects. Π•Π΅ элСмСнты – ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ класса chartobject – ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ, содСрТащими ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Chart, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ нСпосрСдствСнно Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Chart

Рассмотрим основныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Chart:

SubChartWizard ([Source], [Gallery], [Format], [PlotBy], [CategoryLabels], [SeriesLabels], [HasLegend], [Title], [CategoryTitle], [ValueTitle], [Extra-Title])

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ позволяСт ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ мастСра Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ (ChartWizard), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вызываСтся ΠΏΡ€ΠΈ построСнии Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ являСтся ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ Π½Π΅ позволяСт Π·Π°Π΄Π°Ρ‚ΡŒ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ свойства. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π° Π΄Π΅Ρ‚Π°Π»ΠΈ строятся с использованиСм Π΄Ρ€ΡƒΠ³ΠΈΡ… свойств ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Chart. ВсС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ:

1) Source – ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Range, содСрТащий исходныС Π΄Π°Π½Π½Ρ‹Π΅ для построСния Π½ΠΎΠ²ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΎΠΏΡƒΡ‰Π΅Π½, Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ позволяСт ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ – Π»ΠΈΠ±ΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа, Π»ΠΈΠ±ΠΎ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ листа Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ;

2) Gallery – Π·Π°Π΄Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… констант: xlArea, xlBar, xlColumn, xlLine, xlPie, xlRadar, xlXY-Scatter, xlCombination, xl3DArea, xl3DBar, xl3DColumn, xl3DLine, xl3DPie, xl3DSurface, xlDoughnut, ΠΈΠ»ΠΈ xlDefaultAutoFormat;

3) Format – Π·Π°Π΄Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ соотвСтствуСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ число Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ². ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π·Π°Π΄Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ выбираСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°;

4) PlotBy – соотвСтствуСт Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ свойству PlotBy;

5) CategoryLabels ΠΈ SeriesLabels – Ρ†Π΅Π»Ρ‹Π΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ число строк ΠΈΠ»ΠΈ столбцов с ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ ΠΈ рядов Π΄Π°Π½Π½Ρ‹Ρ… Π² области, Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Source. Π£ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ эти числа Π½ΡƒΠΆΠ½ΠΎ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ мСньшС фактичСского значСния;

6) ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π»Π΅Π³Π΅Π½Π΄Ρƒ, Π·Π°Π΄Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π΅Π΅ осСй – ΠΎΠ½ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ свойствами.

Sub SetSourceData (source as range, [plotby]). УстанавливаСт источник Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ соотвСтствуСт Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ свойству plotby.

SubApplyCustomType (ChartTypeAsXlChartType, [typename]). ΠœΠ΅Ρ‚ΠΎΠ΄ позволяСт ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ² ΠΊ Π½Π΅ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ – стандартный ΠΈΠ»ΠΈ настраиваСмый. Если этот Ρ‚ΠΈΠΏ стандартный, Ρ‚ΠΎ Ρ‚ΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π΅Π³ΠΎ опрСдСляСт. Π•Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ со значСниями ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ свойства charttype. Если ΠΆΠ΅ Ρ‚ΠΈΠΏ настраиваСмый, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: xlbuiltin, xluserdefined ΠΈΠ»ΠΈ xlanygallery. Π’ этом случаС Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π·Π°Π΄Π°Π΅Ρ‚ имя Ρ‚ΠΈΠΏΠ° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.

Function Export(filename as string, [filtername], [interactive]) as boolean позволяСт ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ, прСобразуя Π΅Π΅ Π² графичСский Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π·Π°Π΄Π°Π΅Ρ‚ имя Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ записана Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π² графичСском Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, Π²Ρ‚ΠΎΡ€ΠΎΠΉ – Π·Π°Π΄Π°Π΅Ρ‚ имя графичСского Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π² Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ записано Π² систСмном рСгистрС. Π‘ΡƒΠ»Π΅Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ interactive Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π² процСссС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ. Ѐункция export Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true Π² случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Sub GetChartElement(x as long, y as long, elementid as long, argl as long, arg2 as long). ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбС, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ» ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΌΡ‹ΡˆΠΈ Π³Π΄Π΅-Ρ‚ΠΎ Π½Π°Π΄ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠΎΠΉ. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π² это событиС, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ курсора ΠΌΡ‹ΡˆΠΈ – x ΠΈ y. Если Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ getchartelement с этими ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ, Ρ‚ΠΎ ΠΎΠ½ Π²Π΅Ρ€Π½Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° elementid – ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ элСмСнта Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ значСния Π΄Π²ΡƒΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², связанных с этим элСмСнтом. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ зависят ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Ρ‚ΠΎΠ³ΠΎ элСмСнта, Ρ‡ΡŒΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ x ΠΈ y Π·Π°Π΄Π°Π½Ρ‹.

Function Location (where as xlchartlocation, [name]) as

Chart. ΠŸΠ΅Ρ€Π΅Π΄Π²ΠΈΠ³Π°Π΅Ρ‚ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ Π² Π½ΠΎΠ²ΠΎΠ΅ мСстополоТСниС. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Where ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния: xlLocationAsNewSheet, xlLocationAsObject ΠΈΠ»ΠΈ xlLocationAutomatic.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° помСщаСтся Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ лист Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Name Π·Π°Π΄Π°Π΅Ρ‚ имя этого листа. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° помСщаСтся ΠΊΠ°ΠΊ встроСнный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ Name Π·Π°Π΄Π°Π΅Ρ‚ имя Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ VBA-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 54.[6] По Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Β» (рис. 102) Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ, ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ значСниям Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΈΡ… шагам измСнСния строится Π³Ρ€Π°Ρ„ΠΈΠΊ. Π£Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Ρ‚Π°ΠΊΠΆΠ΅ вводится Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ· Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. Π£Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ составлСно Π² соотвСтствии с ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ строятся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа, Π½ΠΎ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Π½Π΅ΠΌ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ… вмСсто ссылки Π½Π° ячСйку. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сама ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π² ссылку Π½Π° ячСйку. ПослС табуляции Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΈ построСния повСрхности Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС (рис. 103) этот Π³Ρ€Π°Ρ„ΠΈΠΊ Ρ‚Π°ΠΊΠΆΠ΅ отобраТаСтся Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ управлСния Image, располоТСнном Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° (рис. 102).

ВСхнология выполнСния

ΠžΠ±ΡΡƒΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ привСдСнная Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΎΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ Ρ‡Ρ‚ΠΎ происходит Π² Π½Π΅ΠΉ.


Рис. 102. Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Β» Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ состоянии (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 54)


Рис. 103. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ листС (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 54)


UserForm_Initialize

1. ΠΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.

2. ΠΠ°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ клавишС <Esc> Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠžΡ‚ΠΌΠ΅Π½Π°, Π° клавишС <Enter> β€“ построСниС.

3. Π£ΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ отобраТаСмая ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π»Π°ΡΡŒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ ΠΈ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… элСмСнта управлСния Image, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»Π΅Π²Ρ‹ΠΉ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΡƒΠ³ΠΎΠ» рисунка совпадал с Π»Π΅Π²Ρ‹ΠΌ Π²Π΅Ρ€Ρ…Π½ΠΈΠΌ ΡƒΠ³Π»ΠΎΠΌ элСмСнта управлСния Image.

НаТатиС ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ запускаСт Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ CommandButton1__C1ick

1. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ числами. Π’ случаС ошибки отобраТаСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сообщСниС.

2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π’ случаС ошибки отобраТаСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сообщСниС (рис. 104).

3. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ, Π²Π²Π΅Π΄Π΅Π½Π½ΡƒΡŽ Π² ΠΏΠΎΠ»Π΅ Π£Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Π² Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа.

4. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹. Π’ случаС ошибки отобраТаСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сообщСниС (рис. 105).

5. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ DataSeries, начиная с ячСйки А2, строит Π²Π½ΠΈΠ· ΠΏΠΎ столбцу Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π΅ΡΡΠΈΡŽ, ΡΠ²Π»ΡΡŽΡ‰ΡƒΡŽΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ табуляции Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ… уравнСния Π³Ρ€Π°Ρ„ΠΈΠΊΠ° с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ шагами (рисунок ΠΈΠ· Ρ„Π°ΠΉΠ»Π° graph.jpg Π² элСмСнтС управлСния Image1).


Рис. 104. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ сообщСния ΠΎ нСсогласованности Π΄Π°Π½Π½Ρ‹Ρ…


Рис. 105. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΌ Π²Π²ΠΎΠ΄Π΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹

НаТатиС ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠžΡ‚ΠΌΠ΅Π½Π° запускаСт Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ CommandButton2_C1ick

Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.

Рассмотрим листинг Π΄Π°Π½Π½ΠΎΠ³ΠΎ прилоТСния.

Private Sub CommandButton1_Click()

' ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° табуляции Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Dim Ρ…_Π½Π· As Double

Dim Ρ…_ΠΏΠ· As Double

Dim Ρ…_шаг As Double

Dim Π£Ρ€Π“Ρ€Π°Ρ„ΠΈΠΊΠ° As String

Dim nx As Integer

'nx – число ΠΏΡ€ΠΎΡ‚Π°Π±ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ…

Dim n As Integer

Dim i As Integer

'n,i – Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ†Π΅Π»Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

'ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° коррСктности Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ…

If IsNumeric(TextBox2.Text) = False Then

MsgBox «Ошибка Π² Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Ρ…Β», vbInformation, Β«Π“Ρ€Π°Ρ„ΠΈΠΊΒ»

TextBox2.SetFocus

Exit Sub

End If

If IsNumeric(TextBox3.Text) = False Then

MsgBox «Ошибка Π² шагС Ρ…Β», vbInformation, Β«Π“Ρ€Π°Ρ„ΠΈΠΊΒ»

TextBox3.SetFocus

Exit Sub

End If

If IsNumeric(TextBox4.Text) = False Then

MsgBox «Ошибка Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ ΡƒΒ», vbInformation, Β«Π“Ρ€Π°Ρ„ΠΈΠΊΒ»

TextBox4.SetFocus

Exit Sub

End If

'Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π½ΠΈΠ΅ с Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Ρ…_Π½Π· = CDbl(TextBox2.Text)

Ρ…_шаг = CDbl(TextBox3.Text)

Ρ…_ΠΏΠ· = CDbl(TextBox4.Text)

Π£Ρ€Π“Ρ€Π°Ρ„ΠΈΠΊΠ° = Trim(TextBox1.Text)

'ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° согласованности Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

If Ρ…_Π½Π· >= Ρ…_ΠΏΠ· Then

MsgBox Β«ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ… слишком большоС», vbInformation, Β«Π“Ρ€Π°Ρ„ΠΈΠΊΒ»

TextBox2.SetFocus

Exit Sub

End If

If Ρ…_Π½Π· + Ρ…_шаг >= Ρ…_ΠΏΠ· Then

MsgBox Β«Π¨Π°Π³ Ρ… Π²Π΅Π»ΠΈΠΊΠΎΠ²Π°Ρ‚Β», vbInformation, Β«Π“Ρ€Π°Ρ„ΠΈΠΊΒ»

TextBox3.SetFocus

Exit Sub

End If

'Π—Π°ΠΌΠ΅Π½Π° Π² Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ… Π½Π° ссылку $A1

i = 1

Do

'Π—Π°ΠΌΠ΅Π½Π° Π² Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ… Π½Π° ссылку $A1

If Mid(Π£Ρ€Π“Ρ€Π°Ρ„ΠΈΠΊΠ°, i, 1) = Β«xΒ» Or Mid(Π£Ρ€Π“Ρ€Π°Ρ„ΠΈΠΊΠ°, i, 1) = Β«XΒ» Then