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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«VBA для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 35

Автор Π‘Ρ‚ΠΈΠ² Каммингс

ОбъявлСниС констант

Для объявлСния констант ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Const:


Const cstrPetsName As String = "ΠŸΡƒΡˆΠΎΠΊ"

Const cDateTarget Date As Date = #5/26/2000#

Const cboolUp As Boolean = True


ВсС Π²ΠΏΠΎΠ»Π½Π΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ объявлСнию ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ объявлСнии константы Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΈ объявлСнии констант ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΠΈ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠ° Object, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏΠ° Decimal (см. Ρ‚Π°Π±Π». 7.1).

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π° ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Ρ… мною констант Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ со строчной Π±ΡƒΠΊΠ²Ρ‹ "с" (ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅ΠΉ сокращСниС ΠΎΡ‚ constant - константа). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ сразу Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ это константа, Π° Π½Π΅ пСрСмСнная. Если вас этот прСфикс Π½Π΅ устраиваСт, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ для своих констант Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Π±ΠΎΠ»Π΅Π΅ подходящий Π²Π°ΠΌ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ VBA ΠΈ Visual Basic ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ прСфикс, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ, ΠΈΠ»ΠΈ прСфикс, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠΌΠ΅Π½ΠΈ вашСго VBA-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. VBA ΠΈ Visual Basic ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ константы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ прСфикса vb - Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ vbBl ue (константа, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ числовой ΠΊΠΎΠ΄ для синСго Ρ†Π²Π΅Ρ‚Π°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ 16711680) ΠΈΠ»ΠΈ vbKeyTab (константа, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ числовой ΠΊΠΎΠ΄ клавиши <Tab>, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ 9). VBA прилоТСния часто ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ свои константы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ прСфикса, спСцифичСского для этого прилоТСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ xlBarStacked (константа, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ числовой ΠΊΠΎΠ΄ для Π»ΠΈΠ½Π΅ΠΉΡ‡Π°Ρ‚ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π² Excel, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ 58).

ΠšΡΡ‚Π°Ρ‚ΠΈ, константы, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ VBA ΠΈΠ»ΠΈ VBA-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² своих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± этих Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… константах ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· справочной систСмы ΠΈΠ»ΠΈ Π² ΠΎΠΊΠ½Π΅ обозрСватСля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (см. Π³Π»Π°Π²Ρƒ 5).

ΠŸΠ»ΠΎΠ΄Ρ‹ использования констант

Объявив константу, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ потрСбуСтся прСдставлСнноС ΠΈΠΌΠ΅Π½Π΅ΠΌ этой константы Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, Π²Ρ‹ создаСтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρƒ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠ° Π² зависимости ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π΅Π³ΠΎ ΠΎΠ±ΡƒΠ²ΠΈ.

Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС основная Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:


If bytPaΠ·ΠΌepO6yΠ²ΠΈ > 45 Then

curΠ—Π°Ρ€ΠΏΠ»Π°Ρ‚Π°Π”ΠΆΠΎ = 75000

End If


ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ нСдостатком Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ этом Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρ‹ опрСдСляСтся Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ "ТСстко". Если ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΆΠΈΠ·Π½ΠΈ возрастСт ΠΈ поэтому потрСбуСтся ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρƒ, Π²Π°ΠΌ придСтся Π½Π°ΠΉΡ‚ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. А Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ использовано Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ нСсколько Ρ€Π°Π·, придСтся Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ…. ΠŸΡ€ΠΈ этом возрастаСт риск ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ, способной ΠΏΠΎΠ²Π»Π΅Ρ‡ΡŒ Π·Π° собой Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ΠΎΡ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π·Π°Π½ΠΎΠ²ΠΎ пСрСписанный для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с подходящСй константой:


Constc curΠ‘Π°ΠΌΠ°ΡΠ‘ΠΎΠ»ΡŒΡˆΠ°ΡΠ—Π°Ρ€ΠΏΠ»Π°Ρ‚Π° As Currency = 75000

If bytPaΠ·ΠΌepO6yΠ²ΠΈ > 45 Then

curΠ—Π°Ρ€ΠΏΠ»Π°Ρ‚Π°Π”ΠΆΠΎ = curΠ‘Π°ΠΌΠ°ΡΠ‘ΠΎΠ»ΡŒΡˆΠ°ΡΠ—Π°Ρ€ΠΏΠ»Π°Ρ‚Π°

End If


ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ Π²Ρ‹ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ объявлСниС константы Π² самом Π½Π°Ρ‡Π°Π»Π΅ модуля ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ²ΠΎΠ΅. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ это Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ староС Π²ΠΎ всСх частях ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ константа. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ: вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ сСбя "Π§Ρ‚ΠΎ это Π·Π° число 75000?", Π²Ρ‹ смоТСтС с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ взгляда ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π”ΠΆΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΡΠ°ΠΌΡƒΡŽ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρƒ, Ссли ΠΎΠ½ носит ΠΎΠ±ΡƒΠ²ΡŒ 46 Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

ВмСсто константы ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Но ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ большС мСста Π² памяти, Π° Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Π²Π°ΠΆΠ½Π΅Π΅, ΠΏΡ€ΠΈ использовании ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ вмСсто константы появляСтся риск случайного измСнСния Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ.

ИспользованиС констант для Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… элСмСнтов Ρ‚ΠΈΠΏΠ° Π΄Π½Π΅ΠΉ Π½Π΅Π΄Π΅Π»ΠΈ (понСдСльник, Π²Ρ‚ΠΎΡ€Π½ΠΈΠΊ ΠΈ Ρ‚.Π΄.) ΠΈΠ»ΠΈ характСристик Ρ‚ΠΈΠΏΠ° вкусовых ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² (сладкий, солСный, кислый, Π³ΠΎΡ€ΡŒΠΊΠΈΠΉ). ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ строками с названиями этих элСмСнтов, ΠΏΡ€ΠΎΡ‰Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту' Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ число ΠΈ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ константу с ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ названию элСмСнта, Ρ€Π°Π²Π½ΡƒΡŽ этому числу. ПослС этого Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто чисСл названия. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄:

Const cbytΠ‘Π»Π°Π΄ΠΊΠΈΠΉ = 1, cbytΠ‘ΠΎΠ»Π΅Π½Ρ‹ΠΉ = 2

Const cbytΠšΠΈΡΠ»Ρ‹ΠΉ = 3, cbytΠ“ΠΎΡ€ΡŒΠΊΠΈΠΉ = 4

Do While intВкус = cbytΠšΠΈΡΠ»Ρ‹ΠΉ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠ‘Π»Π°Π΄ΠΊΠΎΠ³ΠΎ

intВкус = ΠŸΡ€ΠΎΠ±Π°Π’ΠΊΡƒΡΠ°()

Loop

Π—Π½Π°ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

Π’ VBA опСрация прСдставляСт собой Π»ΠΈΠ±ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ, Π»ΠΈΠ±ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ Π΄Π²Π° значСния (субопСратора, Ссли ΠΆΠ΅Π»Π°Π΅Ρ‚Π΅) для получСния Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ опСрация + (опСрация слоТСния) ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π½Π° 3 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ intA:

intA + 3

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ выраТСния ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ слоТСния. (НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ само ΠΏΠΎ сСбС - ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒΡŽ VB А-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ intB = intA + 3. По ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ см. Π²Ρ‹ΡˆΠ΅ Ρ€Π°Π·Π΄Π΅Π» ''Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½-ΠΈ-я"'.)

VBA раздСляСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Ρ‚Ρ€ΠΈ Π³Π»Π°Π²Π½Ρ‹Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ - арифмСтичСскиС, логичСскиС ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния, плюс нСсколько Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… Π² эти ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками. Π§ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅ Π² этой ΠΆΠ΅ Π³Π»Π°Π²Π΅ ΠΌΡ‹ рассмотрим ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΈΠ· ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

ΠŸΡ€ΠΈ использовании со строками тСкста Π·Π½Π°ΠΊ + прСдставляСт ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ, Ρ‚.Π΅. соСдинСниС Π΄Π²ΡƒΡ… строк Π² ΠΎΠ΄Π½Ρƒ, Π° Π½Π΅ слоТСниС. Но для строк Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ "настоящий" Π·Π½Π°ΠΊ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ -символ &. VBA ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

"МСня Π·ΠΎΠ²ΡƒΡ‚ " & "Боря"

ΠΊΠ°ΠΊ "МСня Π·ΠΎΠ²ΡƒΡ‚ Боря".

ΠšΡΡ‚Π°Ρ‚ΠΈ, Π·Π½Π°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ + ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊ числам тСкст, Ссли тСкст состоит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Ρ†ΠΈΡ„Ρ€. НапримСр, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°

intC = 123 + "456"

Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ intC Π±ΡƒΠ΄Π΅Ρ‚ 579.

А Π²ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния:

Tan(sngAngleA) <> 1.4

Π—Π½Π°ΠΊ <> прСдставляСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ "Π½Π΅ Ρ€Π°Π²Π½ΠΎ"'. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ провСряСтся, Π½Π΅ Ρ€Π°Π²Π½Ρ‹ Π»ΠΈ Π΄Π²Π° значСния Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π΅Π³ΠΎ выполнСния Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈΠ±ΠΎ True (Π˜ΡΡ‚ΠΈΠ½Π°), Π»ΠΈΠ±ΠΎ False (Π›ΠΎΠΆΡŒ). Если тангСнс sngAngleA Π½Π΅ Ρ€Π°Π²Π΅Π½ 1.4, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ выраТСния Π±ΡƒΠ΄Π΅Ρ‚ True, Π° ΠΈΠ½Π°Ρ‡Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ False.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°

Π’ Π±ΠΎΠ»Π΅Π΅ слоТных выраТСниях, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… нСсколько Π·Π½Π°ΠΊΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, VBA Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ, Π²Ρ‚ΠΎΡ€Ρ‹ΠΌΠΈ, Π° ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΠΌΠΈ. Π’ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ intA + intB * intC Π΄Π²Π° Π·Π½Π°ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ: + (опСрация слоТСния) ΠΈ * (опСрация умноТСния). На русском это Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ читаСтся ΠΊΠ°ΠΊ "intA плюс intB ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° intC".

Π’ Π΄Π°Π½Π½ΠΎΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ символ * ΠΈΠ΄Π΅Ρ‚ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ, Π½ΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ слоТСния. Π‘Π½Π°Ρ‡Π°Π»Π° VBA ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ intB Π½Π° intC, Π° ΡƒΠΆ Π·Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊ intA. Как ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ ΠΈΠ· этого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, VBA слСдуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ выполнСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… частСй выраТСния, ΠΊΠΎΠ³Π΄Π° Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ нСсколько Π·Π½Π°ΠΊΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅ΠΌΡƒΡŽ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°ΠΌΠΈ, Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ скобки. Если Π²Ρ‹ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚Π΅ (intA + intB) * intC Ρ‚ΠΎ VBA сначала слоТит Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ intC.

Но ΠΊΠ°ΠΊΠΎΠ²Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»Π° VBA для порядка выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² отсутствиС скобок? Если Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ содСрТит Π·Π½Π°ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ, Ρ‚ΠΎ VBA выполняСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ порядкС.

1. АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ конкатСнация.

2. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния.

3. ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ VBA Ρ‚ΠΎΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° порядка выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, сравнСниС ΠΈ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ΡΡ Π² порядкС, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ ΠΈΡ… ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ Π² Ρ‚Π°Π±Π». 7.2. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния Π² VBA Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Ρ‚ΠΎΠΌ порядкС, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½ΠΈ ΠΈΠ΄ΡƒΡ‚, слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ. Если Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ встрСчаСтся нСсколько ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ уровня, ΠΎΠ½ΠΈ Ρ‚ΠΎΠΆΠ΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ.

Π’Π°Π±Π»ΠΈΡ†Π° 7.2. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² VBA (Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Ρ‚ΠΎΠΌ порядкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹)


Π—Π½Π°ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

АрифмСтичСскиС

́

Π’ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ

-

ΠžΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅

* ΠΈΠ»ΠΈ /

Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅

\

ЦСлочислСнноС Π΄Π΅Π»Π΅Π½ΠΈΠ΅

Mod

ВычислСниС остатка дСлСния

+ ΠΈΠ»ΠΈ -

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅

ΠšΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡ

&

ΠšΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡ строк

БравнСния

=

РавСнство

<>

НСравСнство (Π½Π΅ Ρ€Π°Π²Π½ΠΎ)

<

МСньшС

>

Π‘ΠΎΠ»ΡŒΡˆΠ΅

<=

МСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ

>=

Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ

Like

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ строк с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠΌ

Is

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° идСнтичности ссылок Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹