Π Π°Π±ΠΎΡ‚Π° с массивами vba: ВсС ΠΏΡ€ΠΎ массивы Π² VBA Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² пошаговом руководствС ΠΏΠΎ Excel

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ИспользованиС Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов Π² VBA Π½Π° ΡƒΡ€ΠΎΠΊΠ°Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ

ο»Ώ

VBA β€” ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык программирования. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ прилоТСния Π½Π° Visual Basic, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эти языки β€” Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ родствСнники. Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ быстро ΠΈ Π»Π΅Π³ΠΊΠΎ, Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎΠ± установкС ΠΈ настройкС срСды программирования ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π½ΡƒΠΆΠ½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ β€” MS Office Π΅ΡΡ‚ΡŒ практичСски Π½Π° любом ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с использованиСм Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов.

Удобство срСды VBA Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π²Π½Π΅Π΄Ρ€Π΅Π½Π° Π² ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Microsoft Office ΠΈ, соотвСтствСнно, являСтся доступной практичСски Π½Π° любом ПК, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

НСмногиС учитСля ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² своСй Ρ€Π°Π±ΠΎΡ‚Π΅ возмоТности Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ офисного программирования. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка VBA ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ ΠΊ использованию, Π² Ρ‚ΠΎΠΌ числС Π½Π° ΡƒΡ€ΠΎΠΊΠ°Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ.

Массив β€” Π½Π°Π±ΠΎΡ€ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ доступных Ρ‡Π΅Ρ€Π΅Π· это имя ΠΈ порядковый Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π½Π°Π±ΠΎΡ€Π΅. ΠžΡ€Π³Π°Π½ΠΈΠ·ΡƒΠ΅ΠΌ Π² элСктронных Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Excel Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив А, состоящий ΠΈΠ· 20 Ρ… 10 = 200 элСмСнтов. Для этого Π² Excel создадим ΠΏΠΎΠ»Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ элСмСнты массива Ρ†Π΅Π»Ρ‹ΠΌΠΈ случайными числами ΠΎΡ‚ 1 Π΄ΠΎ 100.

Рис. 1. ПолС Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Π² Excel

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ β†’ Visual Basic. Π—Π°Ρ‚Π΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΠ° Insert β†’ Module. ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ ΠΎΠΊΠ½ΠΎ для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Рис. 2. Окно для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Sub Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ_Массив()

Dim A(20, 10) As Integer

For i = 1 To 20 ‘Число строк Π² массивС

For j = 1 To 10 ‘Число столбцов Π² массивС

A(i, j) = Int(Rnd * 100 + 1) ‘Π—Π°Π΄Π°Π½ΠΈΠ΅ массива Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΎΡ‚ 1 Π΄ΠΎ 100

Cells(i, j) = A(i, j)

Next j

Next i

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ листС Excel образуСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΏΠΎΠ»Π΅:

Рис. 3. Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Π² Excel

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для нахоТдСния максимального, минимального, срСднСго значСния Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, вычислим сумму ΠΈ Ρ€Π°Π·ΠΌΠ°Ρ… Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ВсС пСрСчислСнныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ†Π΅Π»Ρ‹Π΅, ΠΊΡ€ΠΎΠΌΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ срСднСго значСния. ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΠΌ ΠΈΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…: Dim Max, Min, Π‘ΡƒΠΌΠΌΠ°, Π Π°Π·ΠΌΠ°Ρ… As Integer, Π‘Ρ€Π΅Π΄Π½Π΅Π΅ As Single.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ матСматичСской ΠΈΠ½Π΄ΡƒΠΊΡ†ΠΈΠΈ, Π½Π°ΠΉΠ΄Ρ‘ΠΌ наибольшСС ΠΈ наимСньшСС значСния Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹: If A(i, j) >Max Then Max = A(i, j)

If A(i, j)

Для вычислСния суммы: Π‘ΡƒΠΌΠΌΠ° = Π‘ΡƒΠΌΠΌΠ° + A(i, j), срСднСго значСния: Π‘Ρ€Π΅Π΄Π½Π΅Π΅ = Π‘ΡƒΠΌΠΌΠ° / 200, Ρ€Π°Π·ΠΌΠ°Ρ…Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹: Π Π°Π·ΠΌΠ°Ρ… = Max β€” Min. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

Sub Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ_Массив()

Dim A(20, 10) As Integer

Dim Max, Min, Π‘ΡƒΠΌΠΌΠ°, Π Π°Π·ΠΌΠ°Ρ… As Integer, Π‘Ρ€Π΅Π΄Π½Π΅Π΅ As Single

Max = 0 ‘ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Максимального элСмСнта Π² массивС

Min = 100 ‘ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Минимального элСмСнта Π² массивС

Π‘ΡƒΠΌΠΌΠ° = 0

For i = 1 To 20 ‘Число строк Π² массивС

For j = 1 To 10 ‘Число столбцов Π² массивС

A(i, j) = Int(Rnd * 100 + 1) ‘Π—Π°Π΄Π°Π½ΠΈΠ΅ массива Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΎΡ‚ 1 Π΄ΠΎ 100

Cells(i, j) = A(i, j)

If A(i, j) >= Max Then Max = A(i, j) ‘ВычислСниС Максимального элСмСнта Π² массивС

If A(i, j)

Π‘ΡƒΠΌΠΌΠ° = Π‘ΡƒΠΌΠΌΠ° + A(i, j) ‘ВычислСниС Π‘ΡƒΠΌΠΌΡ‹

Next j

Next i

Π‘Ρ€Π΅Π΄Π½Π΅Π΅ = Π‘ΡƒΠΌΠΌΠ° / 200 ‘ВычислСниС Π‘Ρ€Π΅Π΄Π½Π΅Π³ΠΎ значСния

Π Π°Π·ΠΌΠ°Ρ… = Max β€” Min

Range(Β«A22″). Value = Β«Max =»

Range(Β«A23″).Value = Β«Min =»

Range(Β«A24″).Value = Β«Π‘ΡƒΠΌΠΌΠ° =»

Range(Β«A25″).Value = Β«Π‘Ρ€Π΅Π΄Π½Π΅Π΅ =»

Range(Β«A26″).Value = Β«Π Π°Π·ΠΌΠ°Ρ… =»

Range(Β«B22″).Value = Max

Range(Β«B23″).Value = Min

Range(Β«B24″).Value = Π‘ΡƒΠΌΠΌΠ°

Range(Β«B25″).Value = Π‘Ρ€Π΅Π΄Π½Π΅Π΅

Range(Β«B26″).Value = Π Π°Π·ΠΌΠ°Ρ…

End Sub

Для создания ΠΊΠΎΠΏΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, сдвинСм Π΅Ρ‘ Π½Π° 11 ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ Π²ΠΏΡ€Π°Π²ΠΎ.

‘Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

For i = 1 To 20

For j = 1 To 10

Cells(i, j + 11) = A(i, j)

Next j

Next i

Наглядно Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°ΠΌΠΈ копия Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Рис. 4. Копия Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Π‘ этой Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ дСйствия, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Π—Π°ΠΌΠ΅Π½ΠΈΠΌ всС числа ΠΊΡ€Π°Ρ‚Π½Ρ‹Π΅ 2 Π½Π° 2, ΠΊΡ€Π°Ρ‚Π½Ρ‹Π΅ 3 Π½Π° 3, ΠΊΡ€Π°Ρ‚Π½Ρ‹Π΅ 5 Π½Π° 5, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π½Π° Β«*Β». ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄Ρ‘ΠΌ подсчёт Ρ‚Π°ΠΊΠΈΡ… чисСл. Для этого Π΄ΠΎΠ±Π°Π²ΠΈΠΌ строки:

‘ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Dim ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅2, ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅3, ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅5, Π—Π²Π΅Π·Π΄ As Integer

ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅2 = 0

ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅3 = 0

ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅5 = 0

Π—Π²Π΅Π·Π΄ = 0

For i = 1 To 20

For j = 1 To 10

If A(i, j) \ 2 = A(i, j) / 2 Then Cells(i, j + 22) = 2

If A(i, j) \ 3 = A(i, j) / 3 Then Cells(i, j + 22) = 3

If A(i, j) \ 5 = A(i, j) / 5 Then Cells(i, j + 22) = 5

If A(i, j) \ 2 A(i, j) / 2 And A(i, j) \ 3 A(i, j) / 3 And A(i, j) \ 5 A(i, j) / 25 Then Cells(i, j + 22) = «*»

If A(i, j) \ 2 = A(i, j) / 2 Then ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅2 = ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅2 + 1 ‘ΠŸΠΎΠ΄ΡΡ‡Ρ‘Ρ‚ количСства чисСл ΠΊΡ€Π°Ρ‚Π½Ρ‹Ρ… 2

If A(i, j) \ 3 = A(i, j) / 3 Then ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅3 = ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅3 + 1 ‘ΠŸΠΎΠ΄ΡΡ‡Ρ‘Ρ‚ количСства чисСл ΠΊΡ€Π°Ρ‚Π½Ρ‹Ρ… 3

If A(i, j) \ 5 = A(i, j) / 5 Then ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅5 = ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅5 + 1 ‘ΠŸΠΎΠ΄ΡΡ‡Ρ‘Ρ‚ количСства чисСл ΠΊΡ€Π°Ρ‚Π½Ρ‹Ρ… 5

If Cells(i, j + 22) = «*» Then Π—Π²Π΅Π·Π΄ = Π—Π²Π΅Π·Π΄ + 1 ‘ΠŸΠΎΠ΄ΡΡ‡Ρ‘Ρ‚ количСства «*»

Next j

Next i

Range(Β«D22″). Value = Β«Π’Π°Π±Π»ΠΈΡ†Π°Β»

Range(Β«O22″).Value = «Копия Π’Π°Π±Π»ΠΈΡ†Ρ‹Β»

Range(Β«Z22″).Value = Β«ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π°Β»

Range(Β«W22″).Value = Β«ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅ 2″ ‘Π’Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

Range(Β«W23″).Value = Β«ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅ 3″

Range(Β«W24″).Value = Β«ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅ 5″

Range(Β«W25″).Value = «Кол-Π²ΠΎ *»

Range(Β«X22″).Value = ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅2

Range(Β«X23″).Value = ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅3

Range(Β«X24″).Value = ΠšΡ€Π°Ρ‚Π½Ρ‹Π΅5

Range(Β«X25″).Value = Π—Π²Π΅Π·Π΄

Рис. 5. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π°

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ офисноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρƒ студСнтов комплСкс Π·Π½Π°Π½ΠΈΠΉ, ΡƒΠΌΠ΅Π½ΠΈΠΉ ΠΈ Π½Π°Π²Ρ‹ΠΊΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Π² области Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с офисным ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ Microsoft Office.

Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°:

  1. И. Π“. Π€Ρ€ΠΈΠ·Π΅Π½. ΠžΡ„ΠΈΡΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ пособиС / М. Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎ-торговая корпорация Β«Π”Π°ΡˆΠΊΠΎΠ² ΠΈ К», 2013 Π³.
  2. Π―Π·Ρ‹ΠΊΠΈ управлСния прилоТСниями: Π£Ρ‡Π΅Π±Π½ΠΎ-мСтодичСскоС пособиС. β€” М.: Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΡ‚Π΄Π΅Π» Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚Π° Π’ΠœΠΈΠš ΠœΠ“Π£ ΠΈΠΌΠ΅Π½ΠΈ М. Π’. Ломоносова β„– 05899; 2015 Π³.
  3. https://studfiles.net/preview/2897110/
  4. https://www.intuit.ru/studies/courses/23/23/info

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ (Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ автоматичСски): VBA, массив, Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, Π—Π°Π΄Π°Π½ΠΈΠ΅ массива, ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт, ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, Ρ€Π°Π·ΠΌΠ°Ρ… Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Число столбцов, Число строк.

Visual Basic 6.0.
ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅
Π½Π°Π²Ρ‹ΠΊΠΈ —
Π“Π»Π°Π²Π° 5

Лабораторная
Ρ€Π°Π±ΠΎΡ‚Π° β„–5

ΠœΠ°ΡΡΠΈΠ²Ρ‹

Β 

ЦСль
Ρ€Π°Π±ΠΎΡ‚Ρ‹
:
ΠžΡΠ²ΠΎΠΈΡ‚ΡŒ
Ρ€Π°Π±ΠΎΡ‚Ρƒ с
массивами.

Β 

ВСорСтичСскоС
Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅.

Π—Π°Π΄Π°Π½ΠΈΠ΅1.
Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ
ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ
для расчСта
суммы ΠΈ произвСдСния
элСмСнтов
ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ
массива:
Π·Π°Π΄Π°Π½ΠΈΠ΅ β„–11 ΠΈ β„–12,
ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‡ΠΊΠ° 279 с
ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ
ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²
Ρ†ΠΈΠΊΠ»Π°.
Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ массивы
Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ
автоматичСски
Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ
случайных
Π²Π΅Π»ΠΈΡ‡ΠΈΠ½.

Β 

ПояснСния:

Π€ΠΎΡ€ΠΌΠ°
ΠΎΠΊΠ½Π°
прилоТСния
Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ
простой. На
Π½Π΅ΠΉ Π΄ΠΎΠ»ΠΆΠ½Π°
Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ
ΠΊΠ½ΠΎΠΏΠΊΠ°
запуска расчСта
и два поля
для суммы ΠΈ
произвСдСния
соотвСтствСнно.
Π’ этих полях
Π΄ΠΎΠ»ΠΆΠ½Ρ‹
ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ
Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹
расчСта.

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
массива
случайными
числами Π΄ΠΎΠ»ΠΆΠ½ΠΎ
ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ
автоматичСски.
Π­Ρ‚ΠΎ осущСствляСтся
Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Β«RND(1)Β»,
которая
Π²Ρ‹Π΄Π°Π΅Ρ‚
случайноС
число Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅
[0; 1). Для Ρ‚ΠΎΠ³ΠΎ
Ρ‡Ρ‚ΠΎΠ±Ρ‹
Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅
ΠΌΠΎΠ³Π»ΠΎ
Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
число Π²
Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ [b; c] Π½ΡƒΠΆΠ½ΠΎ
Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ
ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ
Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ:

Int(Rnd(1)
* (c — b + 1)) + b

Β 

ΠŸΠ΅Ρ€Π΅Π΄
использованиСм
этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ
Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ
ΠΏΠ΅Ρ€Π΅Π΄ Π½Π΅ΠΉ
ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«RandomizeΒ», ΠΎΠ½Π°
позволяСт
Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
Ρ€Π°Π·Π½Ρ‹Π΅ числа
ΠΏΡ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ…
запусках прилоТСния.

Π—Π°Π΄Π°Π½ΠΈΠ΅2.
Π‘ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ
ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ
для расчСта
ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ…
ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²:
Π·Π°Π΄Π°Π½ΠΈΠ΅ β„–14
(расчСт
Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ
массива), β„–15
(расчСт суммы
элСмСнтов
Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ
массива), β„–16
(расчСт
ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ
массива)
ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‡ΠΊΠ° 279 с
ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ
ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²
Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ…
Ρ†ΠΈΠΊΠ»ΠΎΠ².
Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅
массивы
Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ
автоматичСски
Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ
случайных Π²Π΅Π»ΠΈΡ‡ΠΈΠ½.

Β 

ПояснСния:

Π€ΠΎΡ€ΠΌΠ°
ΠΎΠΊΠ½Π°
прилоТСния
для 15 задания
Π±ΡƒΠ΄Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ
ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ.
Для 14 ΠΈ 16 Π·Π°Π΄Π°Ρ‡ΠΈ
Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ
вывСсти Π½Π°
экран
ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ
массив. Для
этого
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ
тСкстовыС
поля Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅
многострочности.
Для этого Ρƒ
тСкстового
поля
измСняСм
Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
свойства Β«MultilineΒ»
Π½Π° Β«TrueΒ».
ВСкстовоС
полС послС
этого ΠΌΠΎΠΆΠ½ΠΎ
Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒ
ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ
(сдСлайтС Π΅Π³ΠΎ
ΠΊΡ€ΡƒΠΏΠ½Π΅Π΅ для
вмСщСния
всСго
массива на
экран). Для
Π²Ρ‹Π²ΠΎΠ΄Π°
Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
всСго
массива
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ
стандартный
ΠΏΡ€ΠΈΠ΅ΠΌ:
сначала
стираСм вСсь
тСкст ΠΈΠ·
тСкстового
ΠΎΠΊΠ½Π° (Π΄ΠΎ
Π½Π°Ρ‡Π°Π»Π°
Ρ†ΠΈΠΊΠ»Π°), Π°
Π·Π°Ρ‚Π΅ΠΌ Π½Π°
ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ
Π±Π΅Ρ€Π΅ΠΌ
содСрТимоС
ΠΎΠΊΠ½Π°,
прибавляСм ΠΊ
Π½Π΅ΠΌΡƒ Π½ΠΎΠ²Ρ‹ΠΉ
элСмСнт
массива,
символ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°
Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ
строчку ΠΈ всС
это присваиваСм
Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅
тСкстовому
ΠΎΠΊΠ½Ρƒ:

For i = 1
to 10

Β  TextBox1.Text = TextBox1.Text & Massiv(i)
& vbCrLf

Next

Β 

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

Для
получСния
Ρ€ΠΎΠ²Π½Ρ‹Ρ…
столбцов
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚
Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Β«FormatΒ». Она
позволяСт
ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ
число Π² Π½ΡƒΠΆΠ½ΠΎΠΌ
Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.
Π€ΠΎΡ€ΠΌΠ°Ρ‚
указываСтся
Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ
с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ
маски (0 –
ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ
разряд числа:

For i = 1 to 10

Β  For j = 1 to 10

Β Β Β  TextBox1.Text =
TextBox1.Text & Format(Massiv(i), «0.000») & β€œΒ  β€œ

Β  Next

Β  TextBox1.Text =
TextBox1.Text & vbCrLf

Next

Π³Π΄Π΅ число
прСдстанСт Π²
Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ
разряда Π²
Ρ†Π΅Π»ΠΎΠΉ части ΠΈ
Ρ‚Ρ€ΠΈ разряда Π²
Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ.

Π Π°Π±ΠΎΡ‚Π° с ΠŸΠ•Π Π•ΠœΠ•ΠΠΠ«ΠœΠ˜ ΠœΠΠ‘Π‘Π˜Π’ΠΠœΠ˜ (VBA)

  • Главная
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  • Π€ΠΎΡ€ΠΌΡƒΠ»Ρ‹
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

    ΠžΡΠ½ΠΎΠ²Ρ‹ Excel
    Π’Π°Π±Π»ΠΈΡ†Π° Excel
    Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€
    ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…
    Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки
    Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹
    Π Π΅ΡˆΠ°Ρ‚Π΅Π»ΡŒ

  • Π“Ρ€Π°Ρ„ΠΈΠΊΠΈ
  • УсловноС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
  • Бводная Ρ‚Π°Π±Π»ΠΈΡ†Π°
  • VBA

    Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ VBA
    ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹
    Π₯арактСристики
    ЗаявлСния
    ΠœΠ°ΠΊΡ€ΠΎΡΡ‹
    ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
    Π€Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ
    Π€Π»Π°ΠΆΠΊΠΈ

  • Архив

    ВсС ΡΡ‚Π°Ρ‚ΡŒΠΈ отсортированы ΠΏΠΎ Π΄Π°Ρ‚Π΅
    ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ
    Π’ΠΎΠ²Π°Ρ€Ρ‹
    Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ курс Excel

  • ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚

    Обо мнС
    Π‘Π»ΠΎΠ³ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π»

Автор: ΠžΡΠΊΠ°Ρ€ ΠšΡ€ΠΎΠ½ΠΊΠ²ΠΈΡΡ‚ ПослСднСС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ: 02 июня 2021 Π³.

Π­Ρ‚ΠΎΡ‚ пост Π½Π°ΡƒΡ‡ΠΈΡ‚ вас Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с массивами Excel Π² Visual Basic для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (VBA).

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ массивы? Excel Π³ΠΎΡ€Π°Π·Π΄ΠΎ быстрСС выполняСт Π·Π°Π΄Π°Ρ‡ΠΈ с массивами, Ρ‡Π΅ΠΌ со значСниями Π½Π° листС. ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти вашСго ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ β€” Π½Π° ТСстком дискС.

Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти вашСго ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС.

Π§Ρ‚ΠΎ Π½Π° этой страницС

  1. Как Π·Π°Π΄Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ массива ΠΈ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…
  2. Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ массива
  3. n-ΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов
    1. ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы
    2. 2-ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы
    3. Π’Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы
  4. НахоТдСниС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ порядкового Π½ΠΎΠΌΠ΅Ρ€Π° массива
    1. ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы
    2. 2-ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы
    3. Π’Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы
  5. Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с массивом
  6. Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ массив
  7. Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ значСния массива Π½Π° лист
    1. ΠœΠ°ΠΊΡ€ΠΎΡ
    2. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ функция
  8. Как Ρ‚Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив
  9. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ массива
    1. ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Excel
  10. Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив
    1. Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ столбСц Π² Π½ΠΎΠ²Ρ‹ΠΉ массив
    2. Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ строку Π² Π½ΠΎΠ²Ρ‹ΠΉ массив
  11. Как ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ массив Π² макрос
  12. Как ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ массив Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ
  13. Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ количСство ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π² массивС
  14. Как Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ строку

1.

ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ-массив

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, пСрСмСнная-массив ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкС домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ пСрСмСнная массива String. ΠšΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ это пСрСмСнная массива.

 ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
Dim pets() ΠΊΠ°ΠΊ строка
ΠšΠΎΠ½Π΅Ρ† сабвуфСра
 

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, сколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² массивС. ΠœΠ°ΠΊΡ€ΠΎΡ Π½ΠΈΠΆΠ΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ pets ΠΊΠ°ΠΊ массив строк, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ 6 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠΎΡ‚ 0 Π΄ΠΎ 5.

 Бубмакрос1()
Dim pets(5) Как String
ΠšΠΎΠ½Π΅Ρ† сабвуфСра
 

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ с 1 вмСсто 0, Π²Ρ‹ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. Π­Ρ‚Π° пСрСмСнная ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ 5 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΎΡ‚ 1 Π΄ΠΎ 5.

 Sub Macro1()
Dim pets(ΠΎΡ‚ 1 Π΄ΠΎ 5) As String
ΠšΠΎΠ½Π΅Ρ† сабвуфСра
 

Π’ Π½Π°Ρ‡Π°Π»ΠΎ

2. ИзмСнСниС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-массива

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ количСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ пСрСмСнная-массив Π² любоС врСмя Π² макросС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ReDim.

ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
Dim pets(1 to 2) As String

домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1) = "собака"
Msgbox Ubound (домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅)

ReDim ΠΏΠΈΡ‚ΠΎΠΌΡ†Ρ‹ (ΠΎΡ‚ 1 Π΄ΠΎ 3)

Msgbox pets(1) & " " & Ubound(pets)

ΠšΠΎΠ½Π΅Ρ† макроса
 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ этом ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ всС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ сохранСнныС значСния массива.

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ

3. n-ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ массивов, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅, ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄Π½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅, Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎ 60000 ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ. ВСроятно, Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π΄Π²Π° измСрСния.

3.1 ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ значСния массиву Π² своСм макросС ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ макрос ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

 ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
Dim pets(1 to 2) As String
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1) = "собака"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2) = "кошка"
ΠšΠΎΠ½Π΅Ρ† сабвуфСра
 

Π’ этом макросС ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ 2 значСния ΠΏΠΈΡ‚ΠΎΠΌΡ†Π΅Π² (ΠΎΡ‚ 1 Π΄ΠΎ 2) . НомСр индСкса Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ pets ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Excel, Π³Π΄Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² массивС. pets( index )

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Ρ€Π°Ρ‚ΡŒ значСния с Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΡ… в массив.

 ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
Dim pets(1 to 2) As String

домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1) = Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ("Лист1"). Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A1"). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2) = Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ("Лист1"). Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A2"). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
ΠšΠΎΠ½Π΅Ρ† сабвуфСра
 

Если Ρƒ вас ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, этот макрос ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π½ΠΎ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ.

 ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
Dim pets(ΠΎΡ‚ 1 Π΄ΠΎ 100) As String
Для i = ΠΎΡ‚ 1 Π΄ΠΎ 100
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (i) = Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы («Лист1Β»). Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (Β«AΒ» ΠΈ i). Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
Π”Π°Π»Π΅Π΅ я
ΠšΠΎΠ½Π΅Ρ† сабвуфСра
 

БущСствуСт Π±ΠΎΠ»Π΅Π΅ быстрый способ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа Π² массив, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ я расскаТу ΠΏΠΎΠ·ΠΆΠ΅ Π² этом постС.

Π’ Π½Π°Ρ‡Π°Π»ΠΎ

3.2 Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Π­Ρ‚ΠΎΡ‚ макрос ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ β€” это Π½ΠΎΠΌΠ΅Ρ€ строки, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” Π½ΠΎΠΌΠ΅Ρ€ столбца, pets( строка , столбСц )

 Sub Macro1()
ВусклыС ΠΏΠΈΡ‚ΠΎΠΌΡ†Ρ‹ (ΠΎΡ‚ 1 Π΄ΠΎ 2, ΠΎΡ‚ 1 Π΄ΠΎ 2)

домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1,1) = "собака"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1,2) = 5
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2,1) = "кошка"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2,2) = 9
ΠšΠΎΠ½Π΅Ρ† сабвуфСра
 

Π­Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ являСтся Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ прСдставлСниСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ массива. Π¦ΠΈΡ„Ρ€Ρ‹, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ курсивом, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ значСния Π² массивС.

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ

3.3 Π’Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы. Π›ΡƒΡ‡ΡˆΠ°Ρ аналогия, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я ΠΌΠΎΠ³Ρƒ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, — это Ссли ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ — это Π½ΠΎΠΌΠ΅Ρ€ строки, Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ — Π½ΠΎΠΌΠ΅Ρ€ столбца, Π° Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ — это ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ листы.

 ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
ВусклыС ΠΏΠΈΡ‚ΠΎΠΌΡ†Ρ‹ (ΠΎΡ‚ 1 Π΄ΠΎ 2, ΠΎΡ‚ 1 Π΄ΠΎ 2, ΠΎΡ‚ 1 Π΄ΠΎ 2)

домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1,1,1) = "собака"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1,2,1) = 5
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2,1,1) = "кошка"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2,2,1) = 9
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1,1,2) = "змСя"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1,2,2) = 3
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2,1,2) = "Ρ€Ρ‹Π±Π°"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2,2,2) = 4
ΠšΠΎΠ½Π΅Ρ† сабвуфСра
 

К Π½Π°Ρ‡Π°Π»Ρƒ

4. Π Π°Π·ΠΌΠ΅Ρ€ массива. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ порядкового Π½ΠΎΠΌΠ΅Ρ€Π° массива

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ порядковый Π½ΠΎΠΌΠ΅Ρ€, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π΅Π³ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π² массивС. Π£ массивов всСгда Π΅ΡΡ‚ΡŒ Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΈ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Lbound Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π», Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ubound Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π». Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹. Если Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π» Ρ€Π°Π²Π΅Π½ 1, Π° Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π» Ρ€Π°Π²Π΅Π½ 5, массив содСрТит 5 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Π’ Π½Π°Ρ‡Π°Π»ΠΎ

4.1 ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ макрос ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ LBound ΠΈ Ubound для опрСдСлСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ массива.

 ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
ВусклыС домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (ΠΎΡ‚ 1 Π΄ΠΎ 10)
Msgbox "LBound: " & LBound (домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅) & " Ubound: " & Ubound (домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅)
ΠšΠΎΠ½Π΅Ρ† сабвуфСра
 

Π’ Π½Π°Ρ‡Π°Π»ΠΎ

4.2 Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив

Π­Ρ‚ΠΎΡ‚ макрос ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒΒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива.

 ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
ВусклыС домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (ΠΎΡ‚ 1 Π΄ΠΎ 5, ΠΎΡ‚ 1 Π΄ΠΎ 3)
MsgBox "НиТний ΠΏΡ€Π΅Π΄Π΅Π» 1-dim: " & LBound(pets, 1) & " Π’Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π» 1-dim:" & UBound(pets, 1) & " НиТний ΠΏΡ€Π΅Π΄Π΅Π» 2-dim: " & LBound(pets, 2) & " Π’Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π» 2-dim: " & UBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅, 2)
ΠšΠΎΠ½Π΅Ρ† сабвуфСра

 

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ

4. 3 Π’Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив

 Sub Macro1()
ВусклыС ΠΏΠΈΡ‚ΠΎΠΌΡ†Ρ‹ (ΠΎΡ‚ 1 Π΄ΠΎ 5, ΠΎΡ‚ 1 Π΄ΠΎ 3, ΠΎΡ‚ 1 Π΄ΠΎ 2)
MsgBox "НиТний ΠΏΡ€Π΅Π΄Π΅Π» 1-dim: " & LBound(pets, 1) & " Π’Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π» 1-dim:" & UBound(pets, 1) & " НиТний ΠΏΡ€Π΅Π΄Π΅Π» 2-dim: " & LBound(pets, 2) & " Π’Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π» 2-ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ: " & UBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅, 2) & " НиТний ΠΏΡ€Π΅Π΄Π΅Π» 3-ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ: " & LBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅, 3) & " Π’Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π» 3-ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ: " & UBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅, 3)
ΠšΠΎΠ½Π΅Ρ† сабвуфСра
 

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ

5. Π Π°Π±ΠΎΡ‚Π° с массивом

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ массива, сохраняя ΠΏΡ€ΠΈ этом всС значСния. Но Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ массива с пустыми скобками, ΠΈΠ½Π°Ρ‡Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ эту ΠΎΡˆΠΈΠ±ΠΊΡƒ компиляции: «Массив ΡƒΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹Β»

 Sub Macro1()
Dim pets() ΠΊΠ°ΠΊ строка
ReDim домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (ΠΎΡ‚ 1 Π΄ΠΎ 5)
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2) = "собака"
ReDim Preserve pets(1 To UBound(pets) + 1)
MsgBox "Lbound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅): " & LBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅) & " Ubound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅): " & UBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅) & "домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅(2): " & домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅(2)
ΠšΠΎΠ½Π΅Ρ† сабвуфСра
 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСднСго измСрСния, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ массив ΠΈΠΌΠ΅Π΅Ρ‚ 2 измСрСния, Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΎΡ‚ 1 Π΄ΠΎ 5 ΠΈ ΠΎΡ‚ 1 Π΄ΠΎ 2.

 Sub Macro1()
Dim pets() ΠΊΠ°ΠΊ строка
ReDim домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (ΠΎΡ‚ 1 Π΄ΠΎ 5, ΠΎΡ‚ 1 Π΄ΠΎ 2)
ReDim Preserve pets(1 to Ubound(pets,1) , 1 To UBound(pets,2) + 1)
MsgBox "Lbound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅,1): " & LBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅,1) & " Ubound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅,1): " & UBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅,1) & vbNewLine & "Lbound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅,2): " & LBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ ,2) & " Ubound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅,2): " & UBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅,2)
ΠšΠΎΠ½Π΅Ρ† сабвуфСра
 

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ReDim Preserve измСняСт послСднСС ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Π² макросС Π²Ρ‹ΡˆΠ΅. Π“Ρ€Π°Π½ΠΈΡ†Ρ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚ 1 Π΄ΠΎ 5 ΠΈ ΠΎΡ‚ 1 Π΄ΠΎ 3, это ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Π°ΠΌ это.

Excel ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ манипулирования массивами, Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ свСсти ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ количСство Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ReDim Preserve, угадывая, сколько элСмСнтов Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ.

Π’ Π½Π°Ρ‡Π°Π»ΠΎ

6. ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ массив

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ReDim для очистки всСх сохранСнных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ массива.

ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
Dim pets(1 to 2) As String

домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1) = "собака"
Msgbox Ubound (домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅)

ReDim ΠΏΠΈΡ‚ΠΎΠΌΡ†Ρ‹ (ΠΎΡ‚ 1 Π΄ΠΎ 3)

Msgbox pets(1) & " " & Ubound(pets)

ΠšΠΎΠ½Π΅Ρ† макроса
 

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ стирания

ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()

Dim pets(1 to 2) As String

домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1) = "кошка"

Π‘Ρ‚Π΅Ρ€Π΅Ρ‚ΡŒ Π΄ΠΎΠΌΠ°ΡˆΠ½ΠΈΡ… ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Ρ…

ΠšΠΎΠ½Π΅Ρ† сабвуфСра

 

Π’ Π½Π°Ρ‡Π°Π»ΠΎ

7.

ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ массива Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист

ΠΈ

7.1 ΠœΠ°ΠΊΡ€ΠΎΡ

Π­Ρ‚ΠΎΡ‚ макрос Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист Sheet1

ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
Dim pets(1 to 2) As String

домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1) = "собака"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2) = "кошка"

Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы("Лист1").Range("A1:B1") = домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅

ΠšΠΎΠ½Π΅Ρ† макроса
 

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ эти значСния ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ значСния ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ, см. «ВранспонированиС» Π΄Π°Π»Π΅Π΅ Π² этом постС.

НавСрх

7.2 ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ функция

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ функция (udf) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ значСния массива, Π½ΠΎ Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ массива.

Ѐункция ArrTest
Dim pets(1 to 2) As String

домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1) = "собака"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2) = "кошка"

ArrTest = домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅

ΠšΠΎΠ½Π΅Ρ† макроса
 

Π’ΠΎΡ‚ шаги ΠΏΠΎ Π²Π²ΠΎΠ΄Ρƒ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ массива:

  1. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ячСйку A1:B1
  2. Π’ΠΈΠΏ =ArrTest()
  3. НаТмитС ΠΈ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ CTRL + SHIFT
  4. НаТмитС Enter

Если Π²Ρ‹ Π²Π²Π΅Π΄Π΅Ρ‚Π΅ udf ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π² строкС Ρ„ΠΎΡ€ΠΌΡƒΠ» появится {=ArrTest()}

=ArrTest()

Π’ Π½Π°Ρ‡Π°Π»ΠΎ

8.

ВранспонированиС массива

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив всСгда отобраТаСтся Π½Π° листС Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ транспонирования ΠΈ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ значСния ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ.

ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
Dim pets(1 to 2) As String

домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1) = "собака"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2) = "кошка"

Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы("Лист1").Range("A1:A2") = Application.Transpose(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅)

ΠšΠΎΠ½Π΅Ρ† сабвуфСра
 

Если ваш массив большС 65536, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ транспонирования Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, этот макрос Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

 ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
Dim pets(ΠΎΡ‚ 1 Π΄ΠΎ 65537) ΠΊΠ°ΠΊ строка
Π”ΠΈΠΌ я ΠΊΠ°ΠΊ сингл
Для я = 1 Π΄ΠΎ 65537
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (я) = я
Π”Π°Π»Π΅Π΅ я
Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы («Лист1Β»). Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (Β«A1: A65537Β») = ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’Ρ€Π°Π½ΡΠΏΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅)
ΠšΠΎΠ½Π΅Ρ† сабвуфСра
 

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Transpose Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния Β«13Β»: нСсоотвСтствиС Ρ‚ΠΈΠΏΠΎΠ².

Однако сущСствуСт ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ для прСодолСния этого ΠΏΡ€Π΅Π΄Π΅Π»Π° массива. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ макрос Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ячССк A1:A65537, Π° Transpose Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. НСдостатком являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ измСрСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ReDim Preserve.

 ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
Dim pets(ΠΎΡ‚ 1 Π΄ΠΎ 65537, ΠΎΡ‚ 1 Π΄ΠΎ 1) ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅

Для я = 1 Π΄ΠΎ 65537
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (я, 1) = я
Π”Π°Π»Π΅Π΅ я

Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы("Лист1").Range("A1:A65537") = домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅

ΠšΠΎΠ½Π΅Ρ† сабвуфСра

 

Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ транспонированиС с массивом большС 65536 Π² Excel 2013 ΠΈΠ»ΠΈ 2016, ошибка Π½Π΅ отобраТаСтся.

Π’ Π½Π°Ρ‡Π°Π»ΠΎ

9. Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа

Π­Ρ‚ΠΎΡ‚ макрос ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ 65537 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ячССк A1:A65537 ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ это ΠΎΡ‡Π΅Π½ΡŒ быстро.

ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
Dim pets() ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚

домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ = Π Π°Π±ΠΎΡ‡ΠΈΠ΅ листы ("Лист1"). Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("A1: A65537"). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

MsgBox "LBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅,1):" & LBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅, 1) & " Ubound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅,1): " & UBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅, 1) & vbNewLine & "LBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅,2): " & LBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ , 2) & " UBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅,2): " & UBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅, 2)

ΠšΠΎΠ½Π΅Ρ† сабвуфСра

 

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ столбСц Π΄Π°Π½Π½Ρ‹Ρ….

Π’ Π½Π°Ρ‡Π°Π»ΠΎ

9.1 ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Excel

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ значСния ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Excel Π² массив.

ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
Dim pets() ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚

домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ = Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ("Π’Π°Π±Π»ΠΈΡ†Π°1"). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

MsgBox "LBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅,1):" & LBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅, 1) & " Ubound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅,1): " & UBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅, 1) & vbNewLine & "LBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅,2): " & LBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ , 2) & " UBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅,2): " & UBound(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅, 2)

ΠšΠΎΠ½Π΅Ρ† сабвуфСра

 

Range(«Table1»).Value Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ всС значСния, ΠΊΡ€ΠΎΠΌΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Table1[#All], Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ всС значСния. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ столбСц «Π˜ΠΌΡ» Π² массив, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅Β Π’Π°Π±Π»ΠΈΡ†Π°1[Имя].

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ

10. ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ массива

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вСсь массив, просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π·Π½Π°ΠΊ равСнства.

ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
ВусклыС ΠΏΠΈΡ‚ΠΎΠΌΡ†Ρ‹ (ΠΎΡ‚ 1 Π΄ΠΎ 2) ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚
ВусклыС собаки () ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚

домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1) = "Π›Π°Π±Ρ€Π°Π΄ΠΎΡ€-Ρ€Π΅Ρ‚Ρ€ΠΈΠ²Π΅Ρ€"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2) = "Золотистый Ρ€Π΅Ρ‚Ρ€ΠΈΠ²Π΅Ρ€"

собаки = домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅

Бобаки MsgBox(1) и vbNewLine и собаки(2)
ΠšΠΎΠ½Π΅Ρ† сабвуфСра

 

Π’ Π½Π°Ρ‡Π°Π»ΠΎ

10. 1 ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ столбца Π² Π½ΠΎΠ²Ρ‹ΠΉ массив

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Application.Index позволяСт ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π» массива.

dogs = Application.Index(pets, 0, 1) ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ столбСц 1 ΠΈΠ· массива pets Π² Π½ΠΎΠ²Ρ‹ΠΉ массив с ΠΈΠΌΠ΅Π½Π΅ΠΌdogs.

ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ столбца Π² Π½ΠΎΠ²Ρ‹ΠΉ массив создаСтся Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, Π½ΠΎ Ссли Π²Ρ‹ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚Π΅ строку, Π½ΠΎΠ²Ρ‹ΠΉ массив становится ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ, см. Π΄Π²Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° макроса Π½ΠΈΠΆΠ΅.

ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
ВусклыС ΠΏΠΈΡ‚ΠΎΠΌΡ†Ρ‹ (ΠΎΡ‚ 1 Π΄ΠΎ 2, ΠΎΡ‚ 1 Π΄ΠΎ 2) ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚
ВусклыС собаки () ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚

pets(1, 1) = "Π›Π°Π±Ρ€Π°Π΄ΠΎΡ€-Ρ€Π΅Ρ‚Ρ€ΠΈΠ²Π΅Ρ€"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2, 1) = "Золотистый Ρ€Π΅Ρ‚Ρ€ΠΈΠ²Π΅Ρ€"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1, 2) = "БоксСр"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2, 2) = "Π‘ΠΈΠ³Π»ΡŒ"
собаки = Application.Index (домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅, 0, 1)

MsgBox собаки (1, 1) и vbNewLine и собаки (2, 1)
ΠšΠΎΠ½Π΅Ρ† сабвуфСра

 

Π’ Π½Π°Ρ‡Π°Π»ΠΎ

10.2 ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки Π² Π½ΠΎΠ²Ρ‹ΠΉ массив

ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ строки (Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ значСния) ΠΈΠ· массива создаСтся Π½ΠΎΠ²Ρ‹ΠΉ массив Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ΠΌ.

 ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ1()
ВусклыС ΠΏΠΈΡ‚ΠΎΠΌΡ†Ρ‹ (ΠΎΡ‚ 1 Π΄ΠΎ 2, ΠΎΡ‚ 1 Π΄ΠΎ 2) ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚
ВусклыС собаки () ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚

pets(1, 1) = "Π›Π°Π±Ρ€Π°Π΄ΠΎΡ€-Ρ€Π΅Ρ‚Ρ€ΠΈΠ²Π΅Ρ€"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2, 1) = "Золотистый Ρ€Π΅Ρ‚Ρ€ΠΈΠ²Π΅Ρ€"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1, 2) = "БоксСр"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2, 2) = "Π‘ΠΈΠ³Π»ΡŒ"
собаки = Application.Index (домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅, 2, 0)

Бобаки MsgBox(1) и vbNewLine и собаки(2)

ΠšΠΎΠ½Π΅Ρ† сабвуфСра

 

Как Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π˜ΠΠ”Π•ΠšΠ‘. Он Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ массивы, ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ 65Β 536 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΈ Microsoft, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ с этим, ошибка сущСствуСт с Excel 2007.

Π’ Π½Π°Ρ‡Π°Π»ΠΎ

11. ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ массив Π² макрос

Macro2 создаСт ΠΈ заполняСт Π½ΠΎΠ²Ρ‹ΠΉ массив, Π° Π·Π°Ρ‚Π΅ΠΌ запускаСт Macro1, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ массив Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.

 Sub Macro1 (val () ΠΊΠ°ΠΊ строка)

MsgBox Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅(1) vbNewLine Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅(2)
ΠšΠΎΠ½Π΅Ρ† сабвуфСра

 
ΠŸΠΎΠ΄ΠΌΠ°ΠΊΡ€ΠΎΡ2()
ВусклыС домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (ΠΎΡ‚ 1 Π΄ΠΎ 2) Π² Π²ΠΈΠ΄Π΅ строки
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (1) = "Π›Π°Π±Ρ€Π°Π΄ΠΎΡ€-Ρ€Π΅Ρ‚Ρ€ΠΈΠ²Π΅Ρ€"
домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅ (2) = "Золотистый Ρ€Π΅Ρ‚Ρ€ΠΈΠ²Π΅Ρ€"
Π’Ρ‹Π·ΠΎΠ² макроса1(домашниС ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹Π΅)
ΠšΠΎΠ½Π΅Ρ† сабвуфСра
 

Π’ Π½Π°Ρ‡Π°Π»ΠΎ

12.

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° массива Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ массивы ΠΌΠ΅ΠΆΠ΄Ρƒ функциями. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ функция Func2 ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ значСния ΠΈΠ· листа Π² массив, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ массив Π² Func1 . Func1 транспонируСт значСния ΠΈ отправляСт ΠΈΡ… ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. Func2 Π·Π°Ρ‚Π΅ΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ значСния Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ лист.

Ѐункция Func1(val() ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚)
Func1 = Application.Transpose(val)
ΠšΠΎΠ½Π΅Ρ‡Π½Π°Ρ функция

 
Ѐункция Func2(rng As Range)
Dim temp () ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚
Dim temp1() ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚

Ρ‚Π΅ΠΌΠΏ = rng.Value
Func2 = Func1 (Ρ‚Π΅ΠΌΠΏ.)
ΠšΠΎΠ½Π΅Ρ‡Π½Π°Ρ функция

 

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ массив ΠΈΠ· макроса Π² udf.

Π’ Π½Π°Ρ‡Π°Π»ΠΎ

13. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ количСства ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π² массивС

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ функция CountDim подсчитываСт количСство ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π² массивС.

Ѐункция CountDim(val() ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚)
Π”ΠΈΠΌ я ΠΊΠ°ΠΊ сингл

ΠŸΡ€ΠΈ ошибкС Π’ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π”Π°Π»Π΅Π΅
Для я = 1 Π΄ΠΎ 60000
chk = LBound(val, i)
Если Err <> 0, Ρ‚ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅
Π”Π°Π»Π΅Π΅ я
ΠŸΡ€ΠΈ ошибкС ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ 0
CountDim = я - 1
ΠšΠΎΠ½Π΅Ρ‡Π½Π°Ρ функция

 
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ тСст()
Dim arr (ΠΎΡ‚ 1 Π΄ΠΎ 10, ΠΎΡ‚ 1 Π΄ΠΎ 5, ΠΎΡ‚ 1 Π΄ΠΎ 3, ΠΎΡ‚ 1 Π΄ΠΎ 5, ΠΎΡ‚ 1 Π΄ΠΎ 3)
ВСст = CountDim (ΠΎΠ±Ρ€)
ΠšΠΎΠ½Π΅Ρ‡Π½Π°Ρ функция

 

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ тСст Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 5, Π² этом массивС ΠΏΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ:

Π’ Π½Π°Ρ‡Π°Π»ΠΎ

14.

Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ строку

Ѐункция раздСлСния позволяСт Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ строку с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ раздСлитСля. Он Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив (ΠΎΡ‚ 0 Π΄ΠΎ n), Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ интСрСсным Π² Π΄Π°Π½Π½ΠΎΠΌ контСкстС.

Ѐункция CountWords(rng As Range)
ВСкст = Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ (rng, "")
ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ слов = UBound(тСкст) + 1
ΠšΠΎΠ½Π΅Ρ‡Π½Π°Ρ функция

 

НавСрх

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ

Руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°ΠΌ массива Excel
Π€ΠΎΡ€ΠΌΡƒΠ»Ρ‹ массива ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ слоТныС вычислСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΡƒΠ».

Как Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ массива Π² ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Π΅ ячСйки
Π’Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ввСсти Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ массива Π² ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Π΅ ячСйки? Π’ΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с этим сообщСниСм ΠΎΠ± ошибкС: […]

Π‘ΠΎΠ»Π΅Π΅ 1300 Ρ„ΠΎΡ€ΠΌΡƒΠ» Excel

ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Excel

Π”ΠΎΠΌΠ°ΡˆΠ½ΡΡ страница

ПослСдниС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Excel

Π‘ΠΎΠ»Π΅Π΅ 300 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Excel с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ синтаксис, Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°Ρ… Excel.

Π€ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Excel

Π‘ΠΎΠ»Π΅Π΅ 1300 Ρ„ΠΎΡ€ΠΌΡƒΠ», ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ.

Π’Π°Π±Π»ΠΈΡ†Ρ‹ Excel

Π’Π°Π±Π»ΠΈΡ†Ρ‹ Excel ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, добавляя ΠΈΠ»ΠΈ удаляя Π΄Π°Π½Π½Ρ‹Π΅, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΡ, суммируя, сортируя, ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ форматирования ячССк, ссылок Π½Π° ячСйки, Ρ„ΠΎΡ€ΠΌΡƒΠ» ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ.

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° основС Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ значСния, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ тСкста ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π². Он Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ значСния Π² Π½ΠΎΠ²ΠΎΠ΅ мСсто.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ячСйку. Π­Ρ‚ΠΎ позволяСт Π²Π°ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ условия ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ собствСнноС сообщСниС, Ссли Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹.

Π Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉΡΡ список

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ эффСктивно, отобраТая список, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ позволяСт Π²Π°ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ отобраТаСтся Π² спискС, ΠΈ это быстрСС, Ρ‡Π΅ΠΌ Π²Π²ΠΎΠ΄ Π² ячСйку.

Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ нСсколько ячССк, это ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ поиск ячССк с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ поля Имя, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ», содСрТащих ΠΈΠΌΠ΅Π½Π° вмСсто ссылок Π½Π° ячСйки.

Excel Solver

Excel Solver β€” это бСсплатная надстройка, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ†Π΅Π»Π΅Π²Ρ‹Π΅ ячСйки, ограничСния, основанныС Π½Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°Ρ… Π½Π° листС, для выполнСния Π°Π½Π°Π»ΠΈΠ·Π° Β«Ρ‡Ρ‚ΠΎ, Ссли» ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ пСрСстановки ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ.

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

Ѐункция Excel, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²ΠΈΠ΄Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°.

УсловноС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ячССк ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ячССк Π½Π° основС условия ΠΈΠ»ΠΈ критСрия. БущСствуСт нСсколько встроСнных инструмСнтов условного форматирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ условного форматирования.

Π‘Π²ΠΎΠ΄Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

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

VBA

VBA ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Visual Basic для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ прСдставляСт собой язык программирования, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Microsoft. Он позволяСт Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹

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

UDF

UDF Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ User Defined Functions ΠΈ прСдставляСт собой настраиваСмыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ.

Архив

Бписок всСх ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… статСй.

Π―Ρ‡Π΅ΠΉΠΊΠΈ ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ Excel β€” Π Π°Π±ΠΎΡ‚Π° с массивами

Excel > Π―Ρ‡Π΅ΠΉΠΊΠΈ ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹

ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ ΠΌΠ΅ΠΆΠ΄Ρƒ массивами с Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ячССк Π² массив, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ послС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… манипуляций Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ распространСна.
ΠœΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ эффСктивным Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ значСния ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π² массив, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, Ρ‡Π΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйкС ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

 Dim arMyArray() As Variant  
arMyArray = Range("A1:D5").Value

Range("A1:D5").Value = arMyArray

Populating an Array

Π‘Π°ΠΌΡ‹ΠΉ быстрый способ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ массив значСниями Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ячССк β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ простой Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Variant
. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ массива ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ.
Π­Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли пСрСмСнная ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠ°ΠΊ Variant.

 'ΠΎΠ±Π° этих объявлСния Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.0582 ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ этот массив Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ ΠΈ начинаСтся с 1, Π° Π½Π΅ с 0.  
Π­Ρ‚ΠΎΡ‚ массив всСгда Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ ΠΎΠ΄Π½Ρƒ строку ΠΈΠ»ΠΈ столбСц.
Π’ этом массивС всСгда сначала столбцы, Π° Π·Π°Ρ‚Π΅ΠΌ строки (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ !!) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SS Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ€Π°Π²Π½ΠΎΠ΅ массиву.
ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ это создаст Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ массив , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ строку Π½Π° листС.

 Dim arTesting As Variant 
arTesting = VBA.