Excel адрСс ячСйки: АдрСс ячСйки Π² Excel, понятиС, индСксы

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

АдрСсация ячССк Π² Excel

НСизвСстный Excel

Excel — это Π½Π΅ дСрСвянныС счёты ΠΈ Π½Π΅ Π²Π΅Ρ€Π΅Π²ΠΎΡ‡ΠΊΠ° с ΡƒΠ·Π΅Π»ΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΠ½ΠΊΠΈ примСняли для своих Π½Π΅Ρ…ΠΈΡ‚Ρ€Ρ‹Ρ… расчСтов. Π­Ρ‚ΠΎ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΌΠΎΡ‰ΡŒ соврСмСнных ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ³ΠΎ числа Π·Π°Π΄Π°Ρ‡: ΠΎΡ‚ Π±Ρ‹Ρ‚ΠΎΠ²Ρ‹Ρ… Π΄ΠΎ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ…. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅…


Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ Π²ΠΈΠ΄Ρ‹ адрСсации ячССк Π² Excel. Π’ ΠΎΠ±Π·ΠΎΡ€Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ я ΡƒΠΆΠ΅ ΠΎΠ± этом ΠΊΡ€Π°Ρ‚ΠΊΠΎ рассказывал, Π½Ρƒ Π° сСйчас ΠΏΡ€ΠΈΡˆΠ»Π° ΠΏΠΎΡ€Π° Ρ€Π°Π·ΡŠΡΡΠ½ΠΈΡ‚ΡŒ эту Ρ‚Π΅ΠΌΡƒ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

Для Π½Π°Ρ‡Π°Π»Π° напомню, Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйки Π² Excel Π΅ΡΡ‚ΡŒ свой ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ адрСс. АдрСс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΌ. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ адрСса — ΠΎΠ± этом ΠΊΠ°ΠΊ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€Π°Π·.

ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ адрСс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊΠΈΠΌ:

B3 — Ρ‚Ρ€Π΅Ρ‚ΡŒΡ ячСйка Π² столбцС Π’.

Однако Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ листС Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ячСйка B3. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ячСйку Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΊΠ½ΠΈΠ³ΠΈ Excel, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π΅Ρ‘ адрСсом Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ имя листа.

Π’Π°ΠΊΠΎΠΉ адрСс Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Лист2!Π’3

Π’ΠΎ Π΅ΡΡ‚ΡŒ здСсь ΡƒΠΆΠ΅ ΠΈΠ΄Ρ‘Ρ‚ Ρ€Π΅Ρ‡ΡŒ Π½Π΅ ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ абстрактной ячСйкС Π’3, Π° ΠΎ ячСйкС Π’3, располоТСнной Π½Π° листС с ΠΈΠΌΠ΅Π½Π΅ΠΌ β€œΠ›ΠΈΡΡ‚2”.

Π­Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самыС ΠΎΠ±Ρ‰ΠΈΠ΅ свСдСния ΠΎΠ± адрСсации ячССк Π² Excel, Π½ΠΎ для Π½Π°Ρ‡Π°Π»Π° этого достаточно. Однако Π½Π°Π΄ΠΎ Π΅Ρ‰Ρ‘ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Π²ΠΈΠ΄Π°Ρ… адрСсации.

Π‘ ΠΎΠ΄Π½ΠΈΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ адрСса Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹. Π­Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²ΠΈΠ΄Π° β€œΠ±ΡƒΠΊΠ²Π°-цифра”:

Π‘Π¦

Π“Π΄Π΅ Π‘ — это Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ столбца, Π° Π¦ — это Π½ΠΎΠΌΠ΅Ρ€ строки. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, каТдая ячСйка ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ листа ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ адрСс. НапримСр,

А10 — это дСсятая строка Π² столбцС А.

Однако Π² Excel Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ адрСсации ячСйки:

RxCy

Π³Π΄Π΅ R — это ряд (строка), Π° Π‘ — это столбСц. ПослС Π±ΡƒΠΊΠ²Ρ‹ слСдуСт, соотвСтствСнно, Π½ΠΎΠΌΠ΅Ρ€ строки Ρ… ΠΈ Π½ΠΎΠΌΠ΅Ρ€ столбца Ρƒ. НапримСр:

R3C7 — это Ρ‚Ρ€Π΅Ρ‚ΡŒΡ строка ΠΈ сСдьмой столбСц, Ρ‡Ρ‚ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ β€œΠ±ΡƒΠΊΠ²Π°-цифра” Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π΅ΠΌ ΠΆΠ΅ адрСсом, Ρ‡Ρ‚ΠΎ ΠΈ G3.

Π›ΠΈΡ‡Π½ΠΎ ΠΌΠ½Π΅ большС нравится Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ β€œΠ±ΡƒΠΊΠ²Π°-цифра”. И ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ (Π²ΠΈΠ΄ΠΈΠΌΠΎ, ΠΎΠ½ большС нравится Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ½Π΅, Π½ΠΎ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Excel).

Однако ΠΈΠ½ΠΎΠ³Π΄Π° (Π²ΠΎ всяком случаС Π² Excel 2003 это случаСтся) Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ адрСса ячСйки ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ сам собой мСняСтся Π½Π° RxCy. И Ρ‚ΠΎΠ³Π΄Π° приходится ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ Π² настройках ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… это ΠΌΠΎΠΆΠ΅Ρ‚ ввСсти Π² состояниС ΠΏΠ°Π½ΠΈΠΊΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π° Π½Π°ΠΉΡ‚ΠΈ эти настройки практичСски Π½ΠΈ Ρƒ ΠΊΠΎΠ³ΠΎ Π½Π΅ получаСтся.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽ. Π’ Excel 2007 ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ адрСса ячССк ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

  1. ΠΠ°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ОЀИБ (Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ)
  2. ΠΠ°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠŸΠΠ ΠΠœΠ•Π’Π Π« EXCEL
  3. Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Π€ΠžΠ ΠœΠ£Π›Π«
  4. Найти Ρ‚Π°ΠΌ строку β€œΠ‘Ρ‚ΠΈΠ»ΡŒ ссылок R1C1”

Если Π²Ρ‹ поставитС Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ² надписи β€œΠ‘Ρ‚ΠΈΠ»ΡŒ ссылок R1C1”, Ρ‚ΠΎ адрСса ячССк Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ RxCy. Если снимитС Π³Π°Π»ΠΎΡ‡ΠΊΡƒ, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ β€œΠ±ΡƒΠΊΠ²Π°-цифра”.


ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠ°

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


Π Π°Π±ΠΎΡ‚Π° с ячСйками Π² Excel-VBA

Всё ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ячСйками Π² Excel-VBA: ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅, вставка, скрытиС, смСна ΠΈΠΌΠ΅Π½ΠΈ.

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

Table of Contents:

  • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ячСйка Excel?
  • Бпособы обращСния ΠΊ ячСйкам
    • Π’Ρ‹Π±ΠΎΡ€ ΠΈ активация
    • ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ячССк
      • Π―Ρ‡Π΅ΠΉΠΊΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ
      • Π―Ρ‡Π΅ΠΉΠΊΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈΒ 
    • ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ ячССк
    • ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅
  • Бвойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ячССк
    • Имя ячСйки
    • АдрСс ячСйки
    • Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ ячСйки
  • Запуск макроса Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠ΅ΠΉ ячСйки

2 нюанса:

  1. Π― ΠΏΠΎΡ‡Ρ‚ΠΈ Π²Π΅Π·Π΄Π΅ ΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ThisWorkbook (Π° Π½Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ActiveWorkbook) для обращСния ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ написан этот ΠΊΠΎΠ΄ (ΡΡ‡ΠΈΡ‚Π°ΡŽ это Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ бСзопасным для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² способом обращСния ΠΊ ΠΊΠ½ΠΈΠ³Π°ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ случайно Π½Π΅ внСсти измСнСния Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ).
    Для экспСримСнтов ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ этот ΠΊΠΎΠ΄ Π² ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΠ΄Ρ‹ ΠΊΠ½ΠΈΠ³ΠΈ, Π»ΠΈΠ±ΠΎ листа, ΠΈ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… этой ΠΊΠ½ΠΈΠ³ΠΈ.Β 
  2. Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ английский эксСль ΠΈ Ρƒ мСня ΠΏΠΎ стандарту листы Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Sheet1, Sheet2 ΠΈ Ρ‚.Π΄. Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² русском эксСлС, Ρ‚ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Thisworkbook.Sheets(«Sheet1») Π½Π° Thisworkbook.Sheets(«Π›ΠΈΡΡ‚1»). Если этого Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² связи с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. МоТно Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π°Β Thisworkbook.Sheets(1), Π½ΠΎ это ΠΌΠ΅Π½Π΅Π΅ бСзопасно.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ячСйка Excel?

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ мСст ΠΏΠΈΡˆΡƒΡ‚: «ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ пСрСсСчСниСм столбца ΠΈ строки». Π­Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для людСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с понятиСм «Ρ‚Π°Π±Π»ΠΈΡ†Π°». Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‡Π΅ΠΌ Π½Π° самом Π΄Π΅Π»Π΅ являСтся ячСйка Excel, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ модСль Excel. ΠŸΡ€ΠΈ этом опрСдСлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² «Ρ€ΡΠ΄», «ΡΡ‚ΠΎΠ»Π±Π΅Ρ†» ΠΈ «ΡΡ‡Π΅ΠΉΠΊΠ°» Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Ρ„Π°ΠΉΠ»ΠΎΠΌ.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Excel-VBA. Пока ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π² Excel Π±Π΅Π· углублСния Π² VBA ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ячСйки ΠΊΠ°ΠΊ «ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΡ» строк ΠΈ столбцов Π½Π°ΠΌ Π²ΠΏΠΎΠ»Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, Π½ΠΎ Ссли ΠΌΡ‹ Ρ€Π΅ΡˆΠ°Π΅ΠΌ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс Π² VBA, Ρ‚ΠΎ ΠΎ Π½Ρ‘ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΠΈ просто Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ лист ΠΊΠ°ΠΊ «ΠΌΠ΅ΡˆΠΎΠΊ» ячССк, с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… VBA позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ трСмя способами:

  1. ΠΏΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ (ряд, столбСц),
  2. ΠΏΠΎ адрСсам Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° А1, B2 ΠΈ Ρ‚.Π΄. (сцСнарий цСлСсообразности Π΄Π°Π½Π½ΠΎΠ³ΠΎ способа обращСния Π² VBA ΠΌΠ½Π΅ слоТно ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ)
  3. ΠΏΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ (Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ Π½Π΅ совсСм с ячСйкой, Π° с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ VBA range, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ячССк). Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Cells ΠΈ Range ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ. Новичкам я Π±Ρ‹ ΠΏΠΎΡ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ячСйками VBA Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Cells ΠΈ ΠΏΠΎ ΠΈΡ… Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Range Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ нСобходимости.

ВсС Ρ‚Ρ€ΠΈ способа обращСния описаны Π΄Π°Π»Π΅Π΅

Как это хранится Π½Π° дискС ΠΈ ΠΊΠ°ΠΊ с этим Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π²Π½Π΅ Excel? Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния хранСния ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π½Π΅ Excel ΠΈ VBA. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, смСнив Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° с .xls(x) Π½Π° .zip ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π² этот Π°Ρ€Ρ…ΠΈΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ содСрТимого Ρ„Π°ΠΉΠ»Π° Excel:

Π”Π°Π»Π΅Π΅ xl -> worksheets ΠΈ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Ρ„Π°ΠΉΠ» листа

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π°:

 Во ТС, но болСС наглядно:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac xr xr2 xr3" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xr:uid="{00000000-0001-0000-0000-000000000000}">
	<dimension ref="B2:F6"/>
	<sheetViews>
		<sheetView tabSelected="1" workbookViewId="0">
			<selection activeCell="D12" sqref="D12"/>
		</sheetView>
	</sheetViews>
	<sheetFormatPr defaultRowHeight="14.
4" x14ac:dyDescent="0.3"/> <sheetData> <row r="2" spans="2:6" x14ac:dyDescent="0.3"> <c r="B2" t="s"> <v>0</v> </c> </row> <row r="3" spans="2:6" x14ac:dyDescent="0.3"> <c r="C3" t="s"> <v>1</v> </c> </row> <row r="4" spans="2:6" x14ac:dyDescent="0.3"> <c r="D4" t="s"> <v>2</v> </c> </row> <row r="5" spans="2:6" x14ac:dyDescent="0.3"> <c r="E5" t="s"> <v>0</v></c> </row> <row r="6" spans="2:6" x14ac:dyDescent="0.3"> <c r="F6" t="s"><v>3</v> </c></row> </sheetData> <pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/> </worksheet>

Как ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Π² структурС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… «ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠΉ».

Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ говоря рабочая ΠΊΠ½ΠΈΠ³Π° — это Π°Ρ€Ρ…ΠΈΠ² структурированных Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ XML. ΠŸΡ€ΠΈ этом Π² ΠΊΠ°ΠΆΠ΄ΡƒΡŽ «ΡΡ‚Ρ€ΠΎΠΊΡƒ» Π²Ρ…ΠΎΠ΄ΠΈΡ‚ «ΡΡ‚ΠΎΠ»Π±Π΅Ρ†», ΠΈ Π² Π½Ρ‘ΠΌ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ прописан Π½ΠΎΠΌΠ΅Ρ€ значСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ столбца, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ½ΠΎ подтягиваСтся ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ XML Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ для экономии мСста Π·Π° счёт отсутствия ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Β ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ. Если ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ‚Π°ΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² этих XML, Ρ‚ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π°Π΄ΠΎ Π½Π° Ρ‚Π°ΠΊΡƒΡŽ модСль ΠΈ структуру Π΄Π°Π½Π½Ρ‹Ρ…. И ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ: ячСйка — это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ столбца, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ находится Π²Π½ΡƒΡ‚Ρ€ΠΈ строки Π² Ρ„Π°ΠΉΠ»Π΅ xml, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ содСрТимом листа.

Бпособы обращСния ΠΊ ячСйкам

Π’Ρ‹Π±ΠΎΡ€ ΠΈ активация

ΠŸΠΎΡ‡Ρ‚ΠΈ Π²ΠΎ всСх случаях ΠΌΠΎΠΆΠ½ΠΎ ΠΈ стоит ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ использования ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²Β Select ΠΈ Activate. На это Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹:

  1. Π­Ρ‚ΠΎ лишь имитация дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, которая замСдляСт Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π±Π΅Π· использования ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Select ΠΈ Activate.
  2. Π­Ρ‚ΠΎ услоТняСт ΠΊΠΎΠ΄ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ послСдствиям. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΠ΅Ρ€Π΅Π΄ использованиСм Select Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Π΅Ρ‰Ρ‘ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ Π΄ΠΎ этого ΠΈ Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ нСобходимости ΡΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€. Π›ΠΈΠ±ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случаС использования ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Select Π² самом Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½ΠΎ Π΄Π²Π° листа вмСсто ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ запустил ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹Π±Ρ€Π°Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ лист.

МоТно Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³ΠΈ, листы, ячСйки, Ρ„ΠΈΠ³ΡƒΡ€Ρ‹, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, срСзы, Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ Ρ‚.Π΄.

ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€Β  ячССк ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Unselect:

Selection.Unselect

ΠžΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΡ‚ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ —Β Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· Ρ€Π°Π½Π½Π΅Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ нСсколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Если Π²Ρ‹ записали ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄ макроса, Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ всСго Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Select ΠΈ Activate Π½Π° ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ With … End With. НапримСр, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ записали Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ макрос:

Sub Macro1()
' Macro1 Macro
    Range("F4:F10,H6:h20"). Select 'Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Π΄Π²Π° нСсмСТных Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π°ΠΆΠ°Π² ctrl
    Range("H6").Activate          'ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я Π½Π°Ρ‡Π°Π» Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ с этой ячСйки (ΠΎΠ½Π° ΠΎΡΡ‚Π°Π»Π°ΡΡŒ Π±Π΅Π»ΠΎΠΉ). Π­Ρ‚ΠΎ дСйствиС Π½ΠΈ Π½Π° Ρ‡Ρ‚ΠΎ Π½Π΅ влияСт
    With Selection.Interior       
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535            'Π·Π°Π»ΠΈΠ»ΠΈ ΠΆΠ΅Π»Ρ‚Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ, Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π·Π°Π»ΠΈΠ²ΠΊΠΈ Π½Π° Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub

ΠŸΠΎΡ‡Π΅ΠΌΡƒ макрос записался Ρ‚Π°ΠΊΠΈΠΌ нСэффСктивным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ? ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ дальшС. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² записи Π²Ρ‹Π±ΠΎΡ€ ячССк ΠΈ дСйствия с Π½ΠΈΠΌΠΈ — это Π΄Π²Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… дСйствия. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (особСнно Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€ΡŒ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ†ΠΈΠΊΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²). НапримСр, Ρ‚Π°ΠΊ:

Sub Macro11()
'
' Macro1 Macro
    Range("F4:F10,H6:h20"). Select '1. смотрим, Ρ‡Ρ‚ΠΎ Π·Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ‹Π±Ρ€Π°Π½ (Ρ‡Ρ‚ΠΎ ΠΈΠ΄Ρ‘Ρ‚ Π΄ΠΎ .Select)
    Range("H6").Activate
    With Selection.Interior       '2. ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΅ΡΡ‚ΡŒ свойство interior, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π΄Π°Π»Π΅Π΅ ΠΈΠ΄Ρ‘Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub



Sub Optimized_Macro()
    With Range("F4:F10,H6:h20").Interior '3. пСрСносим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ With вмСсто Selection
' ////// Π—Π΄Π΅ΡΡŒ я для надёТности прописал Π±Ρ‹ Π΅Ρ‰Ρ‘ Thisworkbook.Sheet("Π˜ΠΌΡΠ›ΠΈΡΡ‚Π°") ΠΏΠ΅Ρ€Π΅Π΄ Range,
' ////// Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ риск Π»ΡŽΠ±Ρ‹Ρ… случайных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Ρ€ΡƒΠ³ΠΈΡ… листов ΠΈ ΠΊΠ½ΠΈΠ³
' ////// With Thisworkbook.Sheet("Π˜ΠΌΡΠ›ΠΈΡΡ‚Π°").Range("F4:F10,H6:h20").Interior
        .Pattern = xlSolid               '4. ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ всё, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ записано Ρ€Π΅ΠΊΠΎΡ€Π΄Π΅Ρ€ΠΎΠΌ Π²Π½ΡƒΡ‚Ρ€ΡŒ Π±Π»ΠΎΠΊΠ° with
        .PatternColorIndex = xlAutomatic
        . Color = 55555                   '5. здСсь я помСнял Ρ†Π²Π΅Ρ‚ Π½Π° Π·Π΅Π»Π΅Π½Ρ‹ΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ Π²ΠΈΠ΄Π½ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ ΠΏΠΎΠΎΡ‡Π΅Ρ€Ρ‘Π΄Π½ΠΎΠΌ запускС Π΄Π²ΡƒΡ… макросов
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ сцСнария, ΠΊΠΎΠ³Π΄Π° использованиС Select ΠΈ Activate ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΎ:

Допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎ врСмя исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΡ‹ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ измСняли нСсколько листов ΠΎΠ΄Π½ΠΈΠΌ дСйствиСм ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΈΠ΄Π΅Π» ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ лист. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Sub Select_Activate_is_OK()
Thisworkbook.Worksheets(Array("Sheet1", "Sheet3")).Select 'Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ нСсколько листов ΠΏΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌ
Thisworkbook.Worksheets("Sheet3").Activate 'ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ лист
'Π”Π°Π»Π΅Π΅ всС дСйствия с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ ячСйками Ρ‡Π΅Ρ€Π΅Π· Select Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² ΠΎΠ±Π° Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… листа

'Допустим, Ρ‡Ρ‚ΠΎ Ρ‚ΡƒΡ‚ ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΠΎΠΊΡ€Π°ΡΠΈΡ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ Π΄Π²Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°:
Range("F4:F10,H6:h20").Select
    Range("H6").Activate
    With Selection. Interior       
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With

End Sub

ЕдинствСнной ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΊΠΎΠ΄ ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡƒ мнСнию ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π·Π°Ρ‡Π΅ΠΌ-Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΡƒΡŽ страницу ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅, эти дСйствия лишниС.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ячССк

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячССк ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ/ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства value.Β 

'Если Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ / Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячСйки, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ свойство Value
a = ThisWorkbook.Sheets("Sheet1").Cells (1,1).Value 'Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячСйки А1 листа "Sheet1" Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ "a"
ThisWorkbook.Sheets("Sheet1").Cells (1,1).Value = 1  'Π·Π°Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячСйки А1 (ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ряд, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ столбСц) листа "Sheet1"

'Если Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ тСкст ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ (с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство . text:
ThisWorkbook.Sheets("Sheet1").Cells (1,1).Text = "1" 
a = ThisWorkbook.Sheets("Sheet1").Cells (1,1).Text

'Когда проявится Ρ€Π°Π·Π½ΠΈΡ†Π°:
'НапримСр, Ссли ΠΌΡ‹ считываСм Π΄Π°Ρ‚Ρƒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ "31 дСкабря 2021 Π³.", Ρ…Ρ€Π°Π½ΡΡ‰ΡƒΡŽΡΡ ΠΊΠ°ΠΊ Π΄Π°Ρ‚Π°
a = ThisWorkbook.Sheets("Sheet1").Cells (1,1).Value 'ΡΠ°ΠΏΠΈΡˆΠ΅Ρ‚ ΠΊΠ°ΠΊ "31.12.2021"
a = ThisWorkbook.Sheets("Sheet1").Cells (1,1).Text  'Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ ΠΊΠ°ΠΊ "31 дСкабря 2021 Π³."
Π―Ρ‡Π΅ΠΉΠΊΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ

К ячСйкам ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ:

'Π’ ΠΊΠ½ΠΈΠ³Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранится макрос (Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ ΠΈΠ· листов, Π»ΠΈΠ±ΠΎ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠ΅)
ThisWorkbook.Sheets("Sheet1").Cells(1,1).Value        'По Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌ строки ΠΈ столбца
ThisWorkbook.Sheets("Sheet1").Cells(1,"A").Value      'По Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌ строки ΠΈ Π±ΡƒΠΊΠ²Π΅ столбца
ThisWorkbook.Sheets("Sheet1").Range("A1").Value       'По адрСсу - Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 1
ThisWorkbook.Sheets("Sheet1").[A1].Value              'По адрСсу - Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 2
ThisWorkbook.Sheets("Sheet1").Range("CellName").Value 'По ΠΈΠΌΠ΅Π½ΠΈ ячСйки (для этого Π΅ΠΉ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ)

'Π’Π΅ ΠΆΠ΅ дСйствия, Π½ΠΎ с использованиСм ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ названия Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ (ΠΊΠ½ΠΈΠ³Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π°)
Workbooks("workbook. xlsm").Sheets("Sheet1").Cells(1,1).Value 'По Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌ строки ΠΈ столбца
Workbooks("workbook.xlsm").Sheets("Sheet1").Cells(1,"A").Value                'По Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌ строки ΠΈ Π±ΡƒΠΊΠ²Π΅ столбца
Workbooks("workbook.xlsm").Sheets("Sheet1").Range("A1").Value                 'По адрСсу - Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 1
Workbooks("workbook.xlsm").Sheets("Sheet1").[A1].Value                        'По адрСсу - Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 2
Workbooks("workbook.xlsm").Sheets("Sheet1").Range("CellName").Value           'По ΠΈΠΌΠ΅Π½ΠΈ ячСйки (для этого Π΅ΠΉ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ)
Π―Ρ‡Π΅ΠΉΠΊΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ

Если Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ. НСпосрСдствСнно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΎΠΉ Π½Π΅ получится, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π½Π΅ΠΉ хранятся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ структуры ΠΈ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Excel ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ расстановку Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ «ΡΠ»ΠΎΡ‚Π°ΠΌ» Π² структурС. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ хранятся Π΄Π°Π½Π½Ρ‹Π΅ Π² xlsx см Π²Ρ‹ΡˆΠ΅.

Workbooks.Open Filename:="Π‘:\closed_workbook. xlsx"    'ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ (ΠΎΠ½Π° становится Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ)
a = ActiveWorkbook.Sheets("Sheet1").Cells(1,1).Value  'Π΄ΠΎΡΡ‚Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячСйки 1,1
ActiveWorkbook.Close False                            'Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ (False => Π±Π΅Π· сохранСния)

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π΄ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ значСния Π² Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ.Β 

Код ΠΈΠ· Ρ„Π°ΠΉΠ»Π°:

Option Explicit
Sub get_value_from_closed_wb() 'Π΄ΠΎΡΡ‚Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ
Dim a, wb_path, wsh As String
wb_path = ThisWorkbook.Sheets("Sheet1").Cells(2, 3).Value 'get path to workbook from sheet1
wsh = ThisWorkbook.Sheets("Sheet1").Cells(3, 3).Value
Workbooks.Open Filename:=wb_path
a = ActiveWorkbook.Sheets(wsh).Cells(3, 3).Value
ActiveWorkbook.Close False
ThisWorkbook.Sheets("Sheet1").Cells(4, 3).Value = a
End Sub

Sub record_value_to_closed_wb() 'Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ
Dim wb_path, b, wsh As String
wsh = ThisWorkbook.Sheets("Sheet1"). Cells(3, 3).Value
wb_path = ThisWorkbook.Sheets("Sheet1").Cells(2, 3).Value 'get path to workbook from sheet1
b = ThisWorkbook.Sheets("Sheet1").Cells(5, 3).Value 'get value to record in the target workbook
Workbooks.Open Filename:=wb_path
ActiveWorkbook.Sheets(wsh).Cells(4, 4).Value = b 'add new value to cell D4 of the target workbook
ActiveWorkbook.Close True
End Sub

Β 

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ ячССк

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» со всСми ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

ΠŸΡ€ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΏΠΎ всСм ячСйкам Π² Π½ΡƒΠΆΠ½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅:

  1. Π¦ΠΈΠΊΠ» For Each. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
    Sub iterate_over_cells()
    
    For Each c In ThisWorkbook.Sheets("Sheet1").Range("B2:D4").Cells
    MsgBox (c)
    Next c
    
    End Sub​

    Π­Ρ‚ΠΎΡ‚ Ρ†ΠΈΠΊΠ» Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π² Π²ΠΈΠ΄Π΅ сообщСний значСния ячССк Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ B2:D4 ΠΏΠΎ порядку ΠΏΠΎ строкам слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ ΠΈ ΠΏΠΎ столбцам — свСрху Π²Π½ΠΈΠ·. Π”Π°Π½Π½Ρ‹ΠΉ способ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для дСйствий, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ Π½Π΅ Π²Π°ΠΆΠ½Ρ‹ Π½ΠΎΠΌΠ΅Ρ€Π° ячССк (Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ форматирования, пСрСсчёт Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ ΠΈ Ρ‚. Π΄.).

  2. Π’Ρƒ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π²ΡƒΡ… Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² — внСшний Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ряды, Π° Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ — ячСйки Π² рядах. Π­Ρ‚ΠΎΡ‚ способ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Ρ‡Π°Ρ‰Π΅ всСго, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ большС контроля Π½Π°Π΄ исполнСниСм: Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° Π½Π°ΠΌ доступны ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ячССк. Для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° всСх ячССк Π½Π° листС этим ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ потрСбуСтся Π½Π°ΠΉΡ‚ΠΈ послСднюю Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡƒΡŽ ячСйку. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:
    Sub iterate_over_cells()
    
    Dim cl, rw As Integer
    Dim x As Variant
    
    'ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ области 3x3
    For rw = 1 To 3 ' Ρ†ΠΈΠΊΠ» для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° рядов 1-3
    
        For cl = 1 To 3 'Ρ†ΠΈΠΊΠ» для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° столбцов 1-3
            x = ThisWorkbook.Sheets("Sheet1").Cells(rw + 1, cl + 1).Value
            MsgBox (x)
        Next cl
    Next rw
    
    
    
    'ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ всСх ячССк Π½Π° листС. ПослСдняя ячСйка ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ UsedRange
    'LastRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1
    'LastCol = ActiveSheet.UsedRange.Column + ActiveSheet. UsedRange.Columns.Count - 1
    'For rw = 1 To LastRow 'Ρ†ΠΈΠΊΠ» ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° всСх рядов
    '    For cl = 1 To LastCol 'Ρ†ΠΈΠΊΠ» для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° всСх столбцов
    '        ДСйствия 
    '    Next cl
    'Next rw
    
    
    End Sub​
  3. Если Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ всС ячСйки Π² Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ листС, Ρ‚ΠΎ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:
    Sub iterate_cell_by_cell_over_selection()
        Dim ActSheet As Worksheet
        Dim SelRange As Range
        Dim cell As Range
        
     
        Set ActSheet = ActiveSheet
        Set SelRange = Selection
        
        'if we want to do it in every cell of the selected range
        For Each cell In Selection
        MsgBox (cell.Value)
        
        Next cell
    
    End Sub​
    Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… макросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ дСйствия Π½Π°Π΄ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ областями.
  4. ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ ячССк Π² ряду
    Sub iterate_cells_in_row()
        Dim i, RowNum, StartCell As Long
        
        RowNum = 3 'ΠΊΠ°ΠΊΠΎΠΉ ряд
        StartCell = 0 ' Π½ΠΎΠΌΠ΅Ρ€ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ячСйки (минус 1, Ρ‚. ΠΊ. Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΌΡ‹ прибавляСм i)
        
        For i = 1 To 10 ' 10 ячССк Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ ряду
        ThisWorkbook.Sheets("Sheet1").Cells(RowNum, i + StartCell).Value = i '(i + StartCell) добавляСт 1 ΠΊ Π½ΠΎΠΌΠ΅Ρ€Ρƒ столбца ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΈ
        Next i
    
    End Sub
  5. ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ ячССк Π² столбцС
    Sub iterate_cells_in_column()
        Dim i, ColNum, StartCell As Long
        
        ColNum = 3 'ΠΊΠ°ΠΊΠΎΠΉ столбСц
        StartCell = 0 ' Π½ΠΎΠΌΠ΅Ρ€ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ячСйки (минус 1, Ρ‚.ΠΊ. Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΌΡ‹ прибавляСм i)
        
        For i = 1 To 10 ' 10 ячССк
        ThisWorkbook.Sheets("Sheet1").Cells(i + StartCell, ColNum).Value = i ' (i + StartCell) добавляСт 1 ΠΊ Π½ΠΎΠΌΠ΅Ρ€Ρƒ ряда ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΈ
        Next i
    
    End Sub​

Бвойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ячССк

Имя ячСйки

ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ имя ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

Thisworkbook.Sheets(1).Cells(1,1).name = "НовоС_Имя"

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ имя ячСйки Π½ΡƒΠΆΠ½ΠΎ сначала ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ имя, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅. Π£Π΄Π°Π»ΠΈΡ‚ΡŒ имя ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

ActiveWorkbook.Names("Π‘Ρ‚Π°Ρ€ΠΎΠ΅_Имя").Delete

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для пСрСимСнования ячССк:

Sub rename_cell()

old_name = "Cell_Old_Name"
new_name = "Cell_New_Name"

ActiveWorkbook.Names(old_name).Delete
ThisWorkbook.Sheets(1).Cells(2, 1).Name = new_name
End Sub

Sub rename_cell_reverse()

old_name = "Cell_New_Name"
new_name = "Cell_Old_Name"

ActiveWorkbook.Names(old_name).Delete
ThisWorkbook.Sheets(1).Cells(2, 1).Name = new_name
End Sub

АдрСс ячСйки

Sub get_cell_address() ' вывСсти адрСс ячСйки Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π±ΡƒΠΊΠ²Π° столбца, Π½ΠΎΠΌΠ΅Ρ€ ряда
  '$A$1 style
  txt_address = ThisWorkbook.Sheets(1).Cells(3, 2).Address
  MsgBox (txt_address)
End Sub

Sub get_cell_address_R1C1()' ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ адрСс столбца Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ ряда, Π½ΠΎΠΌΠ΅Ρ€ столбца
  'R1C1 style
  txt_address = ThisWorkbook.Sheets(1).Cells(3, 2).Address(ReferenceStyle:=xlR1C1)
  MsgBox (txt_address)
End Sub

  'ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ 2 Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°: Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΈ Ρ‚ΠΈΠΏ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ адрСса 
  '(1- Ρ‚ΠΈΠΏ $A$1 2- R1C1 - Π½ΠΎΠΌΠ΅Ρ€ ряда, столбца)
Function get_cell_address_by_name(str As String, address_type As Integer)
  '$A$1 style
  Select Case address_type
    Case 1
      txt_address = Range(str). Address
    Case 2
      txt_address = Range(str).Address(ReferenceStyle:=xlR1C1)
    Case Else
      txt_address = "Wrong address type selected. 1,2 available"
    End Select
  get_cell_address_by_name = txt_address
End Function

'ΠΏΠ΅Ρ€Π΅Π΄ запуском Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ½ΠΈΠ³Π΅ Π΅ΡΡ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, 
'адрСс ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΈΠ½Π°Ρ‡Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ошибка
Sub test_function() 'запуститС эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ функция
  x = get_cell_address_by_name("MyValue", 2)
  MsgBox (x)
End Sub

Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ ячСйки

Π¨ΠΈΡ€ΠΈΠ½Π° ΠΈ Π΄Π»ΠΈΠ½Π° ячСйки Π² VBA мСняСтся, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊ:

Sub change_size()
Dim x, y As Integer
Dim w, h As Double

'ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ячСйки
x = ThisWorkbook.Sheets("Sheet1").Cells(2, 2).Value
y = ThisWorkbook.Sheets("Sheet1").Cells(3, 2).Value

'ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту ячСйки
w = ThisWorkbook.Sheets("Sheet1").Cells(6, 2).Value
h = ThisWorkbook. Sheets("Sheet1").Cells(7, 2).Value

'ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ высоту ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ячСйки с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ x,y
ThisWorkbook.Sheets("Sheet1").Cells(x, y).RowHeight = h
ThisWorkbook.Sheets("Sheet1").Cells(x, y).ColumnWidth = w


End Sub

ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ значСния ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ высоты ячССк ΠΌΠΎΠΆΠ½ΠΎ двумя способами (ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ… измСрСния). Если Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ просто Cells(x,y).Width ΠΈΠ»ΠΈ Cells(x,y).Height, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² pt (привязка ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΡˆΡ€ΠΈΡ„Ρ‚Π°).Β 

Sub get_size()
Dim x, y As Integer
'ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ячСйки, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ
x = ThisWorkbook.Sheets("Sheet1").Cells(2, 2).Value
y = ThisWorkbook.Sheets("Sheet1").Cells(3, 2).Value

'ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ячСйки Π² Ρ‚Π΅Ρ… ΠΆΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ… измСрСния, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ ΠΈΡ… Π·Π°Π΄Π°Π²Π°Π»ΠΈ
ThisWorkbook.Sheets("Sheet1").Cells(2, 6).Value = ThisWorkbook.Sheets("Sheet1").Cells(x, y).ColumnWidth
ThisWorkbook.Sheets("Sheet1").Cells(3, 6).Value = ThisWorkbook. Sheets("Sheet1").Cells(x, y).RowHeight

'ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойств ячСйки (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния) Π² ΠΏΠΎΠΈΠ½Ρ‚Π°Ρ… (pt)
ThisWorkbook.Sheets("Sheet1").Cells(7, 9).Value = ThisWorkbook.Sheets("Sheet1").Cells(x, y).Width
ThisWorkbook.Sheets("Sheet1").Cells(8, 9).Value = ThisWorkbook.Sheets("Sheet1").Cells(x, y).Height

End Sub

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ измСнСния ΠΈ чтСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ячССк

Запуск макроса Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠ΅ΠΉ ячСйки

Для запуска ΠΊΠΎΠ΄Π° VBA ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ячСйки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ΄ листа нСчто ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅:

3 Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ:

1. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ вставлСн Π² ΠΊΠΎΠ΄ листа (здСсь контролируСтся Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ D4)

2-3. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, отвСтствСнная Π·Π° запуск ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ячСйки, Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Worksheet_SelectionChangeΒ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Target, относящСйся ΠΊ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρƒ SelectionChange. Π”Ρ€ΡƒΠ³ΠΈΠ΅ доступныС Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ (2).

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌΒ (ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅)

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ (ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅)

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

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

    If Selection.Count = 1 Then 'запускаСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Ρ‹Π±Ρ€Π°Π½ΠΎ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 1 ячСйки


    'Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ - Π±Ρ€Π°Ρ‚ΡŒ адрСс ячСйки ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ ячСйки:
    'Dim CellName as String
    'CellName = Activesheet.Cells(1,1).value 'Π±Ρ€Π°Ρ‚ΡŒ тСкстовоС имя ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ ячСйки ΠΈΠ· A1 (Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π‘ΡƒΠΊΠ²Π° столбца + Π½ΠΎΠΌΠ΅Ρ€ строки)
    'If Not Intersect(Range(CellName), Target) Is Nothing Then
    'для Ρ€Π°Π±ΠΎΡ‚Ρ‹ этой ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку Π½Π°Π΄ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ/ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ



        If Not Intersect(Range("D4"), Target) Is Nothing Then 
        'Ссли Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ (D4) ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‚ΡΡ 
        '(пСрСсСчСниС Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² НЕ Ρ€Π°Π²Π½ΠΎ Nothing)

        'ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ячССк:
        'If Not Intersect(Range("D4:E10"), Target) Is Nothing Then
        'ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ нСсколько Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ²:
        'If Not Intersect(Range("D4:E10"), Target) Is Nothing or Not Intersect(Range("A4:A10"), Target) Is Nothing Then

            Call program 'выполняСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ
        End If
    End If
End Sub

Sub program()

MsgBox ("Program Is running") 'здСсь пишСм ΠΊΠΎΠ΄ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Π½ΡƒΠΆΠ½ΠΎΠΉ ячСйки


End Sub

Β 

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ адрСс Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° поиска

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΌΡ‹ ΠΈΡ‰Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² большом Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π˜ΠΠ”Π•ΠšΠ‘, ΠŸΠžΠ˜Π‘ΠšΠŸΠžΠ— ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° основС Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π². Но Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°ΠΉΡ‚ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ссылку Π½Π° ячСйку ΠΈΠ»ΠΈ адрСс ячСйки Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ значСния, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ CELL. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ адрСс Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° поиска с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ CELL.

Рисунок 1. ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

Π―Π§Π•Π™ΠšΠ Ѐункция

Ѐункция Π―Π§Π•Π™ΠšΠ прСдоставляСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ячСйкС Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ листа. Π­Ρ‚Π° информация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ адрСсом ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π°, Ρ‚Π°ΠΊ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ячССк ΠΈ Ρ‚. Π΄.

Π―Π§Π•Π™ΠšΠ Бинтаксис:

=Π―Π§Π•Π™ΠšΠ("адрСс",[ссылка])

Π­Ρ‚ΠΎΡ‚ синтаксис Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для получСния адрСса Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° поиска:

  • адрСс (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ): Π­Ρ‚ΠΎ Ρ‚ΠΈΠΏ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ ΠΎ ссылкС.
  • ссылка (Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ): это ссылка ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ячССк для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° поиска

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ поиска

Π’ соотвСтствии с синтаксисом Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π―Π§Π•Π™ΠšΠ трСбуСтся ссылка Π½Π° ячСйку Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° поиска, ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ функция Π˜ΠΠ”Π•ΠšΠ‘ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ значСния ячССк Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° поиска. Однако функция Π˜ΠΠ”Π•ΠšΠ‘ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ссылку Π½Π° ячСйку Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° поиска. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π˜ΠΠ”Π•ΠšΠ‘ ΠΈ ΠŸΠžΠ˜Π‘ΠšΠŸΠžΠ— для Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² поиска, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈΡ… Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π―Π§Π•Π™ΠšΠ˜ ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ссылки для получСния адрСса Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° поиска. НапримСр, Ρƒ нас Π΅ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ… Π² запасах, ΠΈ Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ поиска Ρ†Π΅Π½Ρ‹ для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° поиска 120 Π² ячСйкС h4 с использованиСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Π˜ΠΠ”Π•ΠšΠ‘, ΠŸΠžΠ˜Π‘ΠšΠŸΠžΠ—:

=Π˜ΠΠ”Π•ΠšΠ‘($A$2:$E$10,MATCH(h3,$A$2:$A$10,0),5)

Рисунок 2. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ поиска Ρ†Π΅Π½Ρ‹ Ρ‚ΠΎΠ²Π°Ρ€Π°

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ адрСс Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° поиска

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ адрСс Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° поиска Ρ†Π΅Π½Ρ‹, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ячСйкС 9.0017 Ρ‡4 . Для этого ΠΌΡ‹ ΠΎΠ±Π΅Ρ€Π½Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ Π˜ΠΠ”Π•ΠšΠ‘, ΠŸΠžΠ˜Π‘ΠšΠŸΠžΠ— Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π―Π§Π•Π™ΠšΠ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΡ†ΠΈΡŽ Β« адрСс Β» Π² ячСйкС h5 Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅.

=Π―Π§Π•Π™ΠšΠ("адрСс",Π˜ΠΠ”Π•ΠšΠ‘($A$2:$E$10,ΠŸΠžΠ˜Π‘ΠšΠŸΠžΠ—(h3,$A$2:$A$10,0),5))

Ѐункция Π˜ΠΠ”Π•ΠšΠ‘ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ссылку Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° поиска Ρ†Π΅Π½Ρ‹ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ A2: E10 Π½Π° основС Π½ΠΎΠΌΠ΅Ρ€Π° строки ΠΈ столбца. Ѐункция ΠŸΠžΠ˜Π‘ΠšΠŸΠžΠ— Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ (Π½ΠΎΠΌΠ΅Ρ€ строки) для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° поиска 120 Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 9.0017 А2: А10. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ†Π΅Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π° Π² столбцС 5-ΠΉ столбСц Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° A2: E10, , ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ column_num ΠΊΠ°ΠΊ 5 . Когда ΠΌΡ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π˜ΠΠ”Π•ΠšΠ‘, ΠŸΠžΠ˜Π‘ΠšΠŸΠžΠ— Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π―Π§Π•Π™ΠšΠ с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ Β« адрСс Β», ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ адрСс ячСйки Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° поиска Ρ†Π΅Π½Ρ‹ Π² ячСйкС h5. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ поиска присутствуСт Π² $E$5 , ΠΊΠ°ΠΊ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

Рисунок 3. АдрСс ячСйки Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° поиска Price

МгновСнная связь с экспСртом Ρ‡Π΅Ρ€Π΅Π· Π½Π°ΡˆΡƒ слуТбу Excelchat:

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, Π±ΡƒΠ΄Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ слоТной, Ρ‡Π΅ΠΌ простоС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ часы исслСдований ΠΈ Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ наш ΠΎΠ½Π»Π°ΠΉΠ½-сСрвис Excelchat! Наши экспСрты ΠΏΠΎ Excel доступны круглосуточно ΠΈ Π±Π΅Π· Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° любой вопрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρƒ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ. ΠœΡ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 30 сСкунд ΠΈ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 20 ΠΌΠΈΠ½ΡƒΡ‚.

Π€ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Excel β€” нотация A1 ΠΈΠ»ΠΈ R1C1


Нотация A1

Π­Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для создания (ΠΈ отобраТСния) ссылок Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ячСйки.
Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡΠ»Π°Ρ‚ΡŒΡΡ Π½Π° ячСйку, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π±ΡƒΠΊΠ²Ρƒ столбца, Π° Π·Π°Ρ‚Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€ строки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ «=B2».
Бсылка Π½Π° ячСйку «=B2» относится ΠΊ ΠΏΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΡŽ столбца «B» со строкой «2».
ВсС адрСса ячССк Π² Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ A1 состоят ΠΈΠ· Π±ΡƒΠΊΠ²Ρ‹ столбца ΠΈ Π½ΠΎΠΌΠ΅Ρ€Π° строки .


ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ R1C1

Π­Ρ‚ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ извСстно ΠΊΠ°ΠΊ ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ , Π½Π΅ ΠΏΡƒΡ‚Π°Ρ‚ΡŒ с ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ссылки .
Π­Ρ‚ΠΎ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ способ создания (ΠΈ отобраТСния) ссылок Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ячСйки.
Бсылки Π½Π° ячСйки R1C1 ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ с использованиСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ смСщСния строки ΠΈ столбца.
ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ» Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ часто ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ взаимосвязСй ΠΌΠ΅ΠΆΠ΄Ρƒ ячСйками.
Π—Π΄Π΅ΡΡŒ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Ρ‚Π΅ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹, Π½ΠΎ Π½Π° этот Ρ€Π°Π· Π² Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ R1C1.

Числа Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Π½Π° сколько строк ΠΈΠ»ΠΈ столбцов ячСйка относится сама ΠΊ сСбС.
ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° строк ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ указанная ячСйка находится Π½Π°Π΄ ячСйкой, содСрТащСй Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ.
ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π½ΠΎΠΌΠ΅Ρ€Π° столбцов ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ячСйка, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ дСлаСтся ссылка, находится слСва ΠΎΡ‚ ячСйки, содСрТащСй Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ.


ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ R1C1

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ссылки Π½Π° ячСйки Π½Π° Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ R1C1 Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ExcelΒ».
Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ «Π€ΠΎΡ€ΠΌΡƒΠ»Ρ‹» ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠ· Π΄ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° «Π Π°Π±ΠΎΡ‚Π° с Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°ΠΌΠΈ».
УстановитС Ρ„Π»Π°ΠΆΠΎΠΊ Β«Π‘Ρ‚ΠΈΠ»ΡŒ ссылки R1C1Β».
ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ R1C1 Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ . Π­Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ Π²ΠΈΠ΄.
ИзмСнСниС этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ прСдставлСниС всСх Ρ„ΠΎΡ€ΠΌΡƒΠ» Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅.


Нотация R1C1 β€” ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ссылки

БущСствуСт Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ R1C1.
Π£ вас ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ»ΠΈ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ ссылки.
ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ссылки ( R[-1]C[-1] ) Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки Π²ΠΎΠΊΡ€ΡƒΠ³ чисСл.
Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΈ ΠΎΠ½ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки Π²ΠΎΠΊΡ€ΡƒΠ³ чисСл.
Π”Π²Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ относятся ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ ячСйкам, Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ R1C1.


ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ R1C1 β€” ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ ссылки

ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ ссылки ( R2C2 ) Π½Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ числа Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки.
Π”Π²Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ относятся ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ячСйкС ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ R1C1.


Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Π’ ячСйкС A1 Π€ΠΎΡ€ΠΌΡƒΠ»Π° R1C1 Π€ΠΎΡ€ΠΌΡƒΠ»Π°
A1 =B2 =R[1]C [1]
А2 =Π’2+1 =RC[1]+1
A3 =A2+1 =R[-1]C+1
B4 =$ A$3+1 =R3C1+1
C5 =B$4+1 =R4C[-1]+1
D6 =$C5+1 =R[-1]C3+1
A6 =БУММ(A1:A5) =БУММ(R[-5]C:R[-1]C)

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ R1C1

Π₯отя это старый ΡΡ‚ΠΈΠ»ΡŒ ссылок Π½Π° ячСйки, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ поиска Π»ΡŽΠ±Ρ‹Ρ… ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΡƒΠ».

ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *